看到如下的一個(gè)閉包問題varx=10;functionfn(){console.log(x);}functionshow(f){varx=20;(function(){f();})();}show(fn);打印的是10而不是20,x在取值時(shí)不是沿著作用域鏈向上尋找嗎,如果作用域鏈?zhǔn)窃诤瘮?shù)創(chuàng)建時(shí)確定結(jié)果就是10,如果是在調(diào)用時(shí)確定就應(yīng)該是20,有沒有關(guān)于作用域鏈準(zhǔn)確的說法?這里準(zhǔn)確的作用域鏈應(yīng)該是什么樣的?fn和show處于同一級(jí)還是fn在show內(nèi)?
JavaScript的作用域鏈?zhǔn)窃诤瘮?shù)定義時(shí)確定還是在調(diào)用時(shí)?
慕村225694
2019-05-25 18:01:07