JS学习笔记02-初识原型
2014-09-14 14:31
676 查看
<!DOCTYPE HTML> <html lang="en"> <head> <meta charset="UTF-8"> <title>test</title> <style type="text/css"> </style> </head> <body> <script type="text/javascript"> //◆ 所有对象都继承自Object.prototype,它在原型链中是最后一个。 Object.prototype.age = 1; var obj1 = {}; console.log(obj1.age); if ('age' in obj1){ console.log(obj1.hasOwnProperty('age'));//验证是否来自本地对象 } /* ◆ 每个function都具有prototype属性,对象都有隐式的__proto__。 ◆ 通过function实例化的对象,对象本身的__proto__指向function的prototype。 ◆ 对象本身的constructor指向function。 */ function f(){ this.age=2; } debugger; var obj2 = new f(); console.log(obj2.__proto__===f.prototype);//true 对象本身的__proto__指向function的prototype console.log(obj2.__proto__.__proto__===f.prototype.__proto__? f.prototype.__proto__===Object.prototype:'false');//true console.log(obj2.constructor===f);//true //对象本身的constructor指向function console.log(f.prototype.isPrototypeOf(obj2));//true 检测obj2是否是f生成的对象 //分解上面new创建的过程 var obj3 = {}; //创建一个空对象 obj3.__proto__===Object.prototype obj3.__proto__=f.prototype; //使对象__proto__指向__prototype f.call(obj3); //将f的this替换成obj3,然后再调用f函数. console.log(obj3.__proto__===f.prototype);// true console.log(obj3.constructor===f);// true </script> </body>
相关文章推荐
- js权威指南---学习笔记02
- 【JS学习笔记】02 对象、函数、变量、运算符
- JavaScript高级程序设计(第3版)学习笔记6 初识js对象
- HTML5学习笔记(十六):原型、类和继承【JS核心知识点】
- js学习笔记 理解原型对象
- JS学习笔记——JavaScript继承的6种方法(原型链、借用构造函数、组合、原型式、寄生式、寄生组合式)
- day03_js学习笔记_02_js的内建对象、js的函数
- JS原型学习笔记
- JavaScript高级程序设计(第2版) 学习笔记:(六)js基于构造函数与原型的继承
- 韩顺平 javascript教学视频_学习笔记12_js面向对象编程介绍_类(原型对象)和对象
- JavaScript高级程序设计(第3版)学习笔记6 初识js对象
- JS原型学习笔记
- KO学习笔记之初识Knockout.js
- JS学习笔记03-初识继承
- 韩顺平_轻松搞定网页设计(html+css+javascript)_第29讲_二维数组转置_js面向对象编程介绍 类(原型对象)和对象_学习笔记_源代码图解_PPT文档整理
- [MongoDB学习笔记-02] Node.js连接MongoDB的两种方法
- 【JS学习笔记】 面向对象与原型
- [js学习笔记] 原型链理解
- 2016.06.15廖雪峰JS__学习笔记(原型继承)__P9
- 【学习笔记】JS基于原型的面向对象