不念为大家推出以下四点重要的知识点:
- 所有的引用类型(数组、对象、函数),都具有对象特性,即可自由扩展属性(`null`除外)
- 所有的引用类型(数组、对象、函数),都有一个`__proto__`属性,属性值是一个普通的对象
- 所有的函数,都有一个`prototype`属性,属性值也是一个普通的对象
- 所有的引用类型(数组、对象、函数),`__proto__`属性值指向它的构造函数的`prototype`属性值
通过以下四个要点,使用代码解释一下
要点一:自由扩展属性
var obj = {}; obj.a = 100;
var arr = []; arr.a = 100;
function fn () {}
fn.a = 100;
要点二:__proto__
console.log(obj.__proto__);
console.log(arr.__proto__);
console.log(fn.__proto__);
要点三:函数有 prototype
console.log(fn.prototype)
要点四:引用类型的 __proto__ 属性值指向它的构造函数的 prototype 属性值
console.log(obj.__proto__ === Object.prototype)
© 版权声明
本站文章由不念博客原创,未经允许严禁转载!
THE END