首页 新闻 会员 周边

function t1(){ var d = 1; function t2(){ d=5;

0
[待解决问题]

请问这道的执行时怎么执行的

function t1(){
var d = 1;
function t2(){
d=5;
alert(d);
}
t2();
alert(d);
}
t1();

__Construct的主页 __Construct | 初学一级 | 园豆:57
提问于:2016-01-15 15:38
< >
分享
所有回答(3)
0

alert(5);两次

MrNice | 园豆:3450 (老鸟四级) | 2016-01-15 15:47

t2 alert(5)我懂  但是t1 为什么还是alert(5)?

支持(0) 反对(0) __Construct | 园豆:57 (初学一级) | 2016-01-15 15:56
0

因為t1裡先呼叫t2再alert

把呼叫t2跟alert顛倒結果就不同了

function t1() {
    var d = 1;

    function t2() {
        d = 5;
        alert(d);
    }
    
    t2();
    alert(d);
}
t1();

這個是alert兩次5

function t1() {
    var d = 1;

    function t2() {
        d = 5;
        alert(d);
    }

    alert(d);
    t2();
}
t1();

這個先alert 1,再alert 5

RosonJ | 园豆:4910 (老鸟四级) | 2016-01-15 16:20

哦,谢谢

支持(0) 反对(0) __Construct | 园豆:57 (初学一级) | 2016-01-15 16:26
0

在执行t2()时,已经将d值改为5了,所以会alert出两次5

乐享程序员 | 园豆:930 (小虾三级) | 2016-01-16 20:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册