首页 新闻 会员 周边

js中查找对象的属性时会沿着原型链查找,原型链的顶点是null,如果找不到为什么返回的是undefined,而不是报错

0
[已解决问题] 解决于 2022-07-09 12:33

js中查找对象的属性时会沿着原型链查找,原型链的顶点是null,如果找不到为什么返回的是undefined,而不是报错

继君的主页 继君 | 菜鸟二级 | 园豆:208
提问于:2022-06-12 20:03
< >
分享
最佳答案
0

原型链的顶端应该理解为 obj.__proto__obj.__proto__.name 也是 undefined。
obj.__proto__.__proto__ 是null,正好说明 obj.__proto__才是顶端,它的上面没有东西了

奖励园豆:5
wang_yb | 老鸟四级 |园豆:4891 | 2022-06-12 23:17
其他回答(1)
1

这个希望博主可以通过搜索引擎搜索javascript null和undefined的区别 然后相信你就能找到答案了。
简单说几点:
1、null是关键字;
2、undefined是javascript运行时才会创建的变量;比如你定义一个变量未赋值,结果就是undefined;
3、使用 console.log(typeof(undefined)); console.log(typeof(null)); 你能明显看到前者返回的是undefined、后者返回的是object。
4、运算符中二者表现也不一致,可以自行验证。

西越泽 | 园豆:10775 (专家六级) | 2022-06-13 16:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册