84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
以下代码在浏览器中运行弹出的结果依次是undefined undefined为什么呢?
var a=5; function A(){ alert(a); var a=10; alert(this.a); } new A();
小伙看你根骨奇佳,潜力无限,来学PHP伐。
这涉及到变量提升的问题,构造函数内部的a变量会先提升,相当于这样
function A(){ var a; alert(a); a = 10; alert(this.a); }
所以a只是被定义了没赋值,所以是undefined
同理第二个alert里this指向的是你创造出来的实例,实例当中没有a,构造函数A中的a只是A函数的静态成员。
这涉及到变量提升的问题,构造函数内部的a变量会先提升,相当于这样
所以a只是被定义了没赋值,所以是undefined
同理第二个alert里this指向的是你创造出来的实例,实例当中没有a,构造函数A中的a只是A函数的静态成员。