js高级教程 第六章-面对对象的程序设计(三)
- 寄生构造函数模式
封装对象的代码,然后返回新创建的对象。
function Person(name,age,job){
var o = new Object();
o.name = name;
o.age = age;
o.job = job;
o.sayName = function(){
alert(this.name);
};
return o;
}
var friend = new Person('zhang',11,"worker");
friend.sayName();//zhang
构造函数在不反悔值的情况下会默认返回对象实例。
function sArray(){
var values = new Array();
values.push.apply(values,arguments);
values.toPipedString = function(){
return this.join('|');
}
return values;
}
var colors = new sArray('red','black','blue');
alert(colors.toPipedString());//red|bluck|blue
- 稳妥构造函数模式
所谓稳妥,就是没有公共属性,也不能引用this对象,适合在一些安全环境下使用。
稳妥构造函数与寄生构造函数的不同在于:
1.不能使用this
2.不能使用new调用构造函数
function Person(name,age,job){
var o = new Object();
o.sayName = function(){
alert(name);
}
return o;
}
var friend = Person('zhang',11,'student');//no new
friend.sayName();
//除了调用sayNmae,没有别的方法可以访问数据成员
- 继承
js只能依靠实现继承,并且依靠原型连实现。
本博客基于网络课程完成,旨在学习,有错误请指正!