给出下列代码打印出的值:
结果:
今天遇到这题感觉挺巧妙的,对于这道题的答案,我刚开始纠结的是为什么第二行输出的是Tom而不是Jay,后来看了评论区一个大佬的解答才知道:
使用new操作符时,构造函数内的this就指向相应的实例化对象;
未使用new操作符时,为普通函数调用,全局函数内的this指向window。
所以语句 var a = Person(‘Tom’) 将全局范围内的name变量改成了 Tom,故第二行输出为Tom。同时Person(“Tom”) 相当于只是执行Person函数,里面没有返回值,所以console.log(a)输出undefined。
给出打印出的值【JavaScript】
最新推荐文章于 2024-08-11 18:40:36 发布