老师为什么,name不报错而显示不出来,而age报错呢?如果加引号,我知道是都可以的,

来源:4-1 课程总结

慕田峪1427181

2022-05-07 11:44:58

const obj = new Map();

        obj.set(name, 'zhangsan').set(age, 18) //报错信息Uncaught ReferenceError: age is not defined  at


        console.log(obj);

    



写回答

1回答

好帮手慕星星

2022-05-07

同学你好,因为window对象下默认有name属性,值为空字符串

https://img.mukewang.com/climg/6275fe5509f131a508710074.jpg

https://img.mukewang.com/climg/6275fe7209b2b89706250024.jpg

代码设置的时候,将name当做变量,也就是window中的name,空字符串会当做map属性

https://img.mukewang.com/climg/6275fedc09d3a5f803150096.jpg

https://img.mukewang.com/climg/6275feb1093de6b004130119.jpg

window中不存在age属性,所以直接使用会报错。

祝学习愉快~

0

前端工程师

前端入门如同写字,如果你不知道从哪开始,那就选择前端(含Vue3.x,React17,TS)

20327 学习 · 17877 问题

查看课程