如何理解javascript中Object和Function的关系?原型链能解释清楚下面两个语句的逻辑吗?
Object instanceof Function //true
Function instanceof Object //true
如何理解javascript中Object和Function的关系?原型链能解释清楚下面两个语句的逻辑吗?
Object instanceof Function //true
Function instanceof Object //true
1、首先, 继承的主体其实是构造函数的原型
2、然后
instanceof运算符用于测试构造函数的prototype属性是否出现在对象的原型链中的任何位置--来自MDN
也就是只要某个构造函数的prototype也就是原型在原型链中出现过,instanceof就会返回true;
3、不论是 Object 还是 Function 或者 Array ,本质上他们都是构造函数,所以他们继承自 Function.prototype,也就是Function.prototype出现在原型链中,因此
Function instanceof Function // true
Object instanceof Function // true
4、我们顺着原型链继续找,Function.prototype本质上也是一个对象,它继承自Object.prototype,也就是Object.prototype也出现在原型链中,因此
Function instanceof Object // true
Object instanceof Object // true
27 回答13k 阅读
8 回答3.5k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
5 回答5.3k 阅读✓ 已解决
4 回答1.6k 阅读✓ 已解决
3 回答1.7k 阅读
4 回答2.3k 阅读✓ 已解决
一切皆对象,Object本来也是类呀,类也是函数