javascript prototype继承对象的属性和方法
来源:互联网 发布:网盘搜索 知乎 编辑:程序博客网 时间:2024/05/02 04:15
运行环境chrom console
一、prototype
>function a(){this.a1='123';this.a2="456";}
undefined
undefined
undefined
"b123"
a {a1: "123", a2: "456"}
undefined
"b123"
"123"
二、__proto__
>function a(){this.a1="a123";this.a2="a456";}
undefined
>function b(){this.b1="b123";this.b2="b456";}
undefined
>b.prototype = new a();
a {a1: "a123", a2: "a456"}
>var bbb = new b();
undefined
>bbb.b1
"b123"
>bbb.__proto__
a {a1: "a123", a2: "a456"}
可见对象的__proto__属性指向类的prototype属性。如实例:bbb.__proto__ -> b.prototype
>bbb.__proto__
a {a1: "a123", a2: "a456"}
返回a类型的对象
>bbb.__proto__.__proto__
a{}
因为bbb.__proto__返回的是a类型的对象,而且a.prototype指向a{},所以bbb.__proto__.__proto__指向a{}
三、constructor (创建对象)
>function test(){}
>test.constructor
function Function() { [native code] } //test函数的constructor指向function对象的构造函数,所以new test()会创建一个函数对象。
>var t = new test();
>t.constructor === t.__proto__.constructor
true //test类的对象constructor,t.constructor 指向 t.__proto__.constructor
总结:对象通过__proto__向上寻找原型对象。这样可以达到链式继承目的
- javascript prototype继承对象的属性和方法
- javascript 定义对象、方法和属性的使用方法(prototype)
- Javascript的原型对象和prototype属性
- JavaScript的两种面向对象方法--原型继承(prototype)和函数继承(闭包)
- JavaScript prototype 属性和 对象属性、类属性的区别
- JavaScript类和继承:prototype属性
- JavaScript类和继承(1):prototype属性
- JavaScript类和继承:prototype属性
- JavaScript类和继承:prototype属性
- javascript的prototype给对象增加方法属性
- JavaScript---对象学习(一)object对象、string对象、javaScript的constructor属性和prototype属性
- javascript基础:prototype对象的继承
- JavaScript中对象的prototype属性
- JavaScript中Object 对象的Prototype属性
- javascript中对象的prototype属性
- prototype为对象添加属性和方法
- javascript 方法 prototype属性
- Javascript中继承和Prototype的关系
- Linux系统使用总结(1)
- My97DatePicker 只显示月份
- python logging模块
- 蒙特卡罗(Monte Carlo)方法
- linux设置开机服务自启动/关闭自启动 chkconfig命令
- javascript prototype继承对象的属性和方法
- 我为什么要帮你?
- python学习6
- c++实现自定义的定时器源代码
- 设计模式-单一职责原则
- 面试题11:数值的整数次方的计算
- 改编后的java下载excel
- css3变形
- 明知是广告,却欲罢不能?!好软文,就是这么来的