如何才能理解JavaScript的原型?

图片[1]-如何才能理解JavaScript的原型?-不念博客
如何理解JavaScript的原型?

不念为大家推出以下四点重要的知识点:

  1. 所有的引用类型(数组、对象、函数),都具有对象特性,即可自由扩展属性(`null`除外)
  2. 所有的引用类型(数组、对象、函数),都有一个`__proto__`属性,属性值是一个普通的对象
  3. 所有的函数,都有一个`prototype`属性,属性值也是一个普通的对象
  4. 所有的引用类型(数组、对象、函数),`__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