javascript - 构造函数中a的值为什么变成undefined
伊谢尔伦
伊谢尔伦 2017-04-11 12:12:57
0
1
566

以下代码在浏览器中运行弹出的结果依次是
undefined undefined
为什么呢?

var a=5;
function A(){
    alert(a);
        var a=10;
    alert(this.a);
}
new A();
伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

모든 응답(1)
迷茫

这涉及到变量提升的问题,构造函数内部的a变量会先提升,相当于这样

function A(){
    var a;
    alert(a);
    a = 10;
    alert(this.a);
}

所以a只是被定义了没赋值,所以是undefined

同理第二个alert里this指向的是你创造出来的实例,实例当中没有a,构造函数A中的a只是A函数的静态成员。

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!