Function和Object 应该知道的
javascript有 5种基础的内建对象(Fundamental Objects) , Object 、 Function 、 Error 、 Symbol 、 Boolean ,而 Object / Function 尤为特殊,是定义其他内建对象或者普通对象和方法的基础。 详细的了解 Object 和 Function 对象有助于更好的理解javascript的一些工作原理。 和其他引用类型一样, Object / Function 既是对象,有自己的方法和属性,也是函数,可以作为构造函数。 本文主要讨论以下几个问题: Fucntion.prototype 和普通对象的 prototype 有何区别? Object.prototype.__proto__ = ? Object.__proto__ = ? Object 、 Function 的原型对象有何特殊之处? Function Function的属性 在ES6标准中,Function 对象有两个属性: length 值为1,这个属性的特性为 { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true } ,即不可覆盖,不可被 for...in 遍历,但可以通过 Object.defineProperty 修改它的上面这些特性 prototype