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函数的静态成员。