js面向对象编程思想
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body> </body>
<script>
//实例对象
var per1={
name:"卡卡西",
age:20,
sex:"男",
eat:function(){
console.log("吃拉面");
},
readBook:function(){
console.log("西游记");
}
}
//调用系统的构造函数创建对象
var per2=new Object();
per2.name="大蛇丸";
per2.age=30;
per2.sex="男";
per2.eat=function(){
console.log("吃榴莲");
};
per2.play=function(){
console.log("玩蛇");
}
//自定义构造函数
function Person(name,age,sex){
this.name=name;
this.age=age;
this.sex=sex;
this.play=function(){
console.log("天天打游戏");
};
} var per=new Person("小樱",18,"女");
console.log(per.name);
per.play(); //工程模式创建对象
function creatObject(name,age){
var obj=Object();
obj.name=name;
obj.age=age;
obj.syHi=function(){
console.log("你好");
};
return obj;
} //自定义构造函数和工程模式区别
/**
* 共同点:都是函数,都可以创建对象,都可以传入参数
* 工厂:
* 函数名是小写的
* 有new
* 有返回值
* new之后的对象是当前的对象
*直接调用函数就可以创建对象
*
* 自定义构造函数:
* 函数名是大写的首字母
* 没有new
* 没有返回值
* this是当前对象
* 通过new的方式创建对象
* **/ function Pers(name,age){
this.name=name;
this.age=age;
}
//通过原型来添加方法,解决数据共享,节省内存空间
Pers.prototype.eat=function(){
console.log("吃凉菜");
}
var p1=new Pers("小明",20);
var p2=new Pers("小红",30);
console.log(p1.eat==p2.eat);//结果为真
</script>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
</body>
<script>
//实例对象
var per1={
name:"卡卡西",
age:20,
sex:"男",
eat:function(){
console.log("吃拉面");
},
readBook:function(){
console.log("西游记");
}
}
//调用系统的构造函数创建对象
var per2=new Object();
per2.name="大蛇丸";
per2.age=30;
per2.sex="男";
per2.eat=function(){
console.log("吃榴莲");
};
per2.play=function(){
console.log("玩蛇");
}
//自定义构造函数
function Person(name,age,sex){
this.name=name;
this.age=age;
this.sex=sex;
this.play=function(){
console.log("天天打游戏");
};
}
var per=new Person("小樱",18,"女");
console.log(per.name);
per.play();
//工程模式创建对象
function creatObject(name,age){
var obj=Object();
obj.name=name;
obj.age=age;
obj.syHi=function(){
console.log("你好");
};
return obj;
}
//自定义构造函数和工程模式区别
/**
* 共同点:都是函数,都可以创建对象,都可以传入参数
* 工厂:
* 函数名是小写的
* 有new
* 有返回值
* new之后的对象是当前的对象
*直接调用函数就可以创建对象
*
* 自定义构造函数:
* 函数名是大写的首字母
* 没有new
* 没有返回值
* this是当前对象
* 通过new的方式创建对象
* **/
function Pers(name,age){
this.name=name;
this.age=age;
}
//通过原型来添加方法,解决数据共享,节省内存空间
Pers.prototype.eat=function(){
console.log("吃凉菜");
}
var p1=new Pers("小明",20);
var p2=new Pers("小红",30);
console.log(p1.eat==p2.eat);//结果为真
</script>
</html>
js面向对象编程思想的更多相关文章
- 面向对象编程思想(前传)--你必须知道的javascript
在写面向对象编程思想-设计模式中的js部分的时候发现很多基础知识不了解的话,是很难真正理解和读懂js面向对象的代码.为此,在这里先快速补上.然后继续我们的面向对象编程思想-设计模式. 什么是鸭子类型 ...
- 面向对象编程思想(前传)--你必须知道的javascript(转载)
原文地址:http://www.cnblogs.com/zhaopei/p/6623460.html阅读目录 什么是鸭子类型 javascript的面向对象 封装 继承 多态 原型 this指向 ...
- 带你一分钟理解闭包--js面向对象编程
上一篇<简单粗暴地理解js原型链--js面向对象编程>没想到能攒到这么多赞,实属意外.分享是个好事情,尤其是分享自己的学习感悟.所以网上关于原型链.闭包.作用域等文章多如牛毛,很多文章写得 ...
- 面向对象编程思想(OOP)
本文我将从面向对象编程思想是如何解决软件开发中各种疑难问题的角度,来讲述我们面向对象编程思想的理解,梳理面向对象四大基本特性.七大设计原则和23种设计模式之间的关系. 软件开发中疑难问题: 软件复杂庞 ...
- IT第二十天 - 面向对象编程思想、抽象类、异常处理、程序操作日志记录、本周总结 ★★★
IT第二十天 上午 面向对象编程思想 1.组装电脑的设计: (1)电脑的组成:显示器+机箱 (2)机箱的组成:电源+主板+硬盘 (3)主板所包含的部件:cpu+内存+PCI接口+usb接口 (4)PC ...
- Js面向对象编程
Js面向对象编程 1. 什么是面向对象编程? 我也不说不清楚什么是面向对象,反正就那么回事吧. 编程有时候是一件很快乐的事,写一些小游戏,用编程的方式玩游戏等等 2. Js如何定义一个 ...
- js原生设计模式——3简单工厂模式\js面向对象编程实例
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- 拖拽系列二、利用JS面向对象OOP思想实现拖拽封装
接着上一篇拖拽系列一.JavaScript实现简单的拖拽效果这一篇博客将接着对上一节实现代码利用JS面向对象(OOP)思维对上一节代码进行封装; 使其模块化.避免全局函数污染.方便后期维护和调用:写到 ...
- JS面向对象编程(进阶理解)
JS 面向对象编程 如何创建JS对象 JSON语法声明对象(直接量声明对象) var obj = {}; 使用 Object 创建对象 var obj = new Object(); JS对象可以后期 ...
随机推荐
- js遍历数组和遍历对象
可以用for in来遍历对象,具体内容如下: <script type="text/javascript"> var objs = { ...
- python自动化之时间
cxz##############################现在时间######################### import time time.time() ############# ...
- python自动化之正则
import re phoneNumRegex=re.compile(r'\d\d\d-\d\d\d-\d\d\d\d') mo=phoneNumRegex.search('My number is ...
- java 常量 因为常量不依赖对象 所以一般都会将常量设置为 类属性
- MySQL/Oracle/SQL Server默认端口、JDBCdriver、Url
sqlserver默认端口号为:1433URL:"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname"DRI ...
- uoj259 & 独立集问题的一些做法
很早以前就做了一遍这题,当时好像啥都不会,今天重做一下. 这个题题意简单地说就是输入k.p和一个图,求图大小为k的独立集个数mod p. subset1.in n=24,m=19,k=8 subse ...
- Gradle 命令之 --stacktrace , --info , --debug 用法
FAQ: Android studio 出现错误Run with --stacktrace option to get the stack trace. Run with --info or --de ...
- React事件传递参数
<button onClick={(ev) => {this.handleClick(ev,arg1,arg2,...)}} 用箭头函数,注意第一个参数一定要是事件参数.
- 【DP】【P4539】 [SCOI2006]zh_tree
Description 张老师根据自己工作的需要,设计了一种特殊的二叉搜索树. 他把这种二叉树起名为zh_tree,对于具有n个结点的zh_tree,其中序遍历恰好为(1,2,3,-,n),其中数字1 ...
- Python 爬虫入门(三)—— 寻找合适的爬取策略
写爬虫之前,首先要明确爬取的数据.然后,思考从哪些地方可以获取这些数据.下面以一个实际案例来说明,怎么寻找一个好的爬虫策略.(代码仅供学习交流,切勿用作商业或其他有害行为) 1).方式一:直接爬取网站 ...