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

今天学习了一些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();
					//可以定义一下私有的变量和函数 private
					var name = name ; 
					//var sex = '男';
					//var saySex = function(){};
					//添加一个方法
					obj.sayName = function(){
						alert(name);
					}
					return obj ;				
			}
			var p1 = new Person('张三');
			p1.sayName();



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值