84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
以下代码在浏览器中运行弹出的结果依次是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函数的静态成员。