原型【六】原型对象的常用开发模式

来源:互联网 发布:传智播客java视频全套 编辑:程序博客网 时间:2024/05/03 14:28

今天学习了一些javascript视频教程,着重看了一下js的原型。

原型的概念: 原型对象里的所有属性和方法 被所有构造函数实例化出来的对象所共享

以下介绍几种常用的原型开发模式:

1.常用模式

function Person(){}Person.prototype = {constructor:Person , name: 'z3' , age:  20 , job : '程序员' ,friends : ['李四','王五'] ,sayName : function(){alert('我的名字!')}};var p1 = new Person();var p2 = new Person();p1.friends.push('赵六');alert(p1.friends);alert(p2.friends);

2.组合使用原型和构造函数式 (定义一个类 开发时常用的方式)

function Person(name , age , friends , job){this.name = name ; this.age  = age ; this.friends = friends ;this.job = job ;}Person.prototype = {constructor: Person , sayName : function(){alert(this.name);}};var p1 = new Person('z3' , 20 , ['王五','赵六'] , '技术总监');var p2 = new Person('李四', 25 , ['王五','赵六' ,'赵7'] ,'boss');alert(p1.friends);p1.sayName();alert(p2.friends);p2.sayName();

3.动态原型模式:(让你的代码 都封装到一起)

function Person(name , age , friends , job){this.name = name ; this.age  = age ; this.friends = friends ;this.job = job ;//动态原型方法:if( typeof this.sayName != 'function'){Person.prototype.sayName = function(){alert(this.name);}}}
4.稳妥构造函数式: durable object(稳妥对象) 非常安全的环境中

function Person(name , age , job){// 创建一个要返回的对象var obj = new Object();//可以定义一下私有的变量和函数 privatevar name = name ; //var sex = '男';//var saySex = function(){};//添加一个方法obj.sayName = function(){alert(name);}return obj ;}var p1 = new Person('张三');p1.sayName();



0 0
原创粉丝点击