理解JS中构造函数、原型与实例中的关系

首先,我们先梳理一下他们之间的关系:每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针。

        function Person(){
			
		}

		//将属性和方法都添加到了person的原型属性prototype中
		Person.prototype.name = "nick";
		Person.prototype.age = 23;
		Person.prototype.state = "signal dog";
		Person.prototype.getState = function(){
			alert(this.state);
		}
		
		var person1 = new Person();
		person1.getState(); //signal dog
		
		var person2 = new Person();
		person2.getState(); //signal dog
		

当你创建一个新函数的时候,会自动创建一个prototype属性,这个属性是指向函数的原型对象。并且,默认情况下所有原型对象都会自动获得一个constructor构造函数属性。这个构造函数属性是一个指向prototype属性所在函数的指针。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值