JS原型链的理解
一些个人的理解,不一定是对的,仅供参考。 在JS中有函数和对象两个概念,而又有一切皆对象的概念及函数也是一个对象。所以可以说函数一定可以作为一个对象,而对象不一定是一个函数。 也可以说在js中对象分为两种:1.仅仅是一个对象2.既时对象又是函数(以下称为函数对象) 在JS中有一个概念:所有对象都有__proto__属性,而函数对象则还有prototype属性,可以以此区分出哪些是函数对象 在JS中有两个顶级的内置对象:Object和Function,这两个对象我测试了都属于函数对象。但有所不同的是:Object和Function的__proto__都是ƒ () { [native code] }(native code是已被编译为特定于处理器的 机器码 的代码,我反正就理解为不可见的源代码),Function的prototype为ƒ () { [native code] },Object的prototype是一个对象,里面有一些自己系统自定义的方法 在JS中有一个概念:对象是由函数对象生成的,并且对象的 __proto__ 属性指向函数对象的 prototype 属性;函数(函数对象)也是由函数(函数对象)生成的,并且生成函数(函数对象)的prototype是一个系统默认生成的对象包含了两个属性(constructor和__proto__)