码迷,mamicode.com
首页 > 其他好文 > 详细

对象小结

时间:2016-04-27 22:43:12      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:


对象

1、对象:无需属性的集合,属性可包含基本值、对象或者函数

创建对象 var obj = new Object() ;

2、工厂模式:创建一种函数模型(反正不好用);

ps:他跟构造函数的区别:

1.首字母小写

2.函数中没有使用this

3.使用的时候没有用new


3、构造函数模式:也是一种函数模型。

创建对象时要用new。

基本写法:function Student(name) {

this.name = name;

this.playComputerGame = function() {

};
this.sleepy = function() {

console.info(this.name);
};
}

缺点:每次调用的时候都会重新创建一遍方法,会导致通方法不同的作用链和方法解析,占内存。

优化一下:把方法定义到构造函数外面。

function Student(name) {

this.name = name;

this.sleepy = sleepy()
}


function sleepy() {

console.info(this.name);
};

4、原型模式:prototype是构造函数对象的属性,它指向了一个对象(就是一个引用),它指向的这个对象中的所有的属性跟方法,是每个实例所公用。

写法:function Person() {

}

Person.prototype.name = "小二狗"; --------->添加原型属性

var p1 = new Person();

console.info(p1.name); --------> 实例调用

5、原型链:找东西,一层一层往上扒。

6、构造原型方式:创建类

1.属性全部放在构造函数里面

2.方法写在外面(prototype)

7、原型链继承:New.prototype = new Old(); 新的函数继承旧的函数原型类型。

8、借用构造函数和组合继承都是套路(组合继承时注意新的方法必须写在继承之后)。

 

对象小结

标签:

原文地址:http://www.cnblogs.com/Li-gou-dan/p/5440554.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!