下面的例子中,在构造器内部定义了like,然后再原型上也定义了like。通过下面的测试表明:
在构造器内部创建的实例方法会阻挡原型上定义的同名方法
初始化操作的优先级如下:
- 首先,通过原型给对象实例添加属性
- 在构造器内部,给对象实例添加的属性
在构造器内部的绑定操作优先级用于都高于在原型上的绑定操作的优先级。因为构造器的this上下文指向的是实例自身,所以,可以在构造器内对核心内容执行初始化操作
1 <script> 2 3 function Persion() { 4 5 6 7 this.likeIceCream = false; 8 9 this.like = function () { 10 11 return !this.likeIceCream; 12 13 } 14 15 } 16 17 18 19 Persion.prototype.like = function () { 20 21 return this.likeIceCream; 22 23 } 24 25 26 27 var p = new Persion(); 28 29 p.like(); 30 31 32 33 </script>