第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

js函數(shù)作用域的問題

js函數(shù)作用域的問題

收到一只叮咚 2018-12-19 18:19:40
在看阮一峰老師的es6入門的函數(shù)作用域部分時(shí),亂搞出了一段代碼,發(fā)現(xiàn)了一些問題var x = 2;function foo(x, y) {    var x = 3;    y();    console.log(x);}foo(1, function() {            console.log(x);            x = 5;        });結(jié)果y中打印出x = 2,為什么不是1或3呢?foo打印出x = 3然后稍作調(diào)整,var x = 2;function foo(x) {    var x = 3;    function y () {        console.log(x);        x = 5;    }    y();    console.log(x);}foo(1);y中打印的是3,foo中打印的是5,倒是符合預(yù)期,這是為什么呢?
查看完整描述

1 回答

?
狐的傳說

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊

因?yàn)槟闵厦娲a傳入?yún)?shù)function的函數(shù)作用域?yàn)橥鈱?,并非foo里面的,你上面的代碼可以改寫成這樣


var x = 2


function test() {

    console.log(x) // 會(huì)找到外層的 x = 2

    x = 5

}


function foo(x, y) {

    var x = 3

    y()

    console.log(x) // 會(huì)找到foo 函數(shù)中的 x = 3

}


foo(1, test)

倘若你要是這樣,便可以得到foo里面的x


var x = 2


function test(x) {

    console.log(x) // 會(huì)找到外層的 x = 2

    x = 5

}


function foo(x, y) {

    var x = 3

    y(x)

    console.log(x) // 會(huì)找到foo 函數(shù)中的 x = 3

}


foo(1, test)

希望能幫到你


查看完整回答
反對(duì) 回復(fù) 2019-01-26
  • 1 回答
  • 0 關(guān)注
  • 430 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)