老师,帮我看下这个问题哦!

来源:3-11 原型链(二)

qq_慕前端4488230

2019-05-22

var arr = [1,2,3,1];
我们知道 var arr = [1,2,3];
其实就是var arr=new Array(“1”,“2”,“3”);
所以arr 是构造函数Array()的实例,所以arr.proto.constructor === Array; 为true。
但是我看到别人写arr.constructor === Array; 同样也是true,
所以arr.proto.constructor === arr.constructor ;
这是为什么呢

写回答

1回答

快乐动起来呀

2019-05-22

首先 arr 是 Array 的实例,所以 arr.constructor===Array 因为 arr 的构造函数就是 Array

其次,arr.__proto__===Array.prototype 这个是原型链的本质,而 constructor 是部署在 Array.prototype 上的,明白了吗

0
2
快乐动起来呀
回复
qq_慕前端4488230
可以的
2019-05-28
共2条回复

前端跳槽面试必备技巧 面试官全流程指导

一门让你能成功获取前端 Offer 的课程, 不只是技术,面试“技巧”也至关重要

4836 学习 · 830 问题

查看课程