说明
1、所有对象都会有一个属性__proto__指向构造函数的prototype原型对象.
之所以我们可以使用构造函数prototype原型对象的属性和方法,是因为对象有__proto__原型。
2、__proto__对象原型的意义在于为对象的搜索机制提供一个方向或一条路线.
但它是一个非标准属性,所以在实际开发中不能使用这个属性,它只是指原型对象prototype。
实例
<script> function Star(uname, age) { this.uname = uname; this.age = age; } Star.prototype.sing = function() { console.log('我会唱歌'); } var ldh = new Star('刘德华', 18); var zxy = new Star('张学友', 19); ldh.sing(); console.log(ldh); // 对象身上系统自己添加一个 __proto__ 指向我们构造函数的原型对象 prototype console.log(ldh.__proto__ === Star.prototype); // 方法的查找规则: 首先先看ldh 对象身上是否有 sing 方法,如果有就执行这个对象上的sing // 如果么有sing 这个方法,因为有__proto__ 的存在,就去构造函数原型对象prototype身上去查找sing这个方法 </script>
以上就是Javascript中对象原型 __proto__的介绍,希望对大家有所帮助。更多Javascript学习指路:
推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。