在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 求大佬幫解答 js這個參數(shù)傳遞的問題

求大佬幫解答 js這個參數(shù)傳遞的問題

var pow2 = make_pow(2);說明把參數(shù)n=2傳進(jìn)去了,可是為什么打印出來pow2時,參數(shù)n沒有被賦值?
圖片描述

回答
編輯回答
使勁操

你的make_pow返回的就是一個函數(shù),在JS中,函數(shù)也是對象,所以可以作為返回值。你要得到正確結(jié)果得這樣:

var pow2=make_pow(2);
console,log(pow2(3)); // 9

至于pow2為什么能夠保存n的值,則是涉及到閉包問題了。

2017年9月12日 05:23
編輯回答
青黛色

我的理解:console.log是打印出引用的字符串形式,而且沒有運(yùn)行pow2,參數(shù)此時是形參。而你想要的賦值是指運(yùn)行時發(fā)生的。

2018年4月23日 10:44
編輯回答
單眼皮

打印出來的是個函數(shù),該函數(shù)是什么就打印什么,不會根據(jù)上下文的環(huán)境自動賦值,一個簡單直觀的例子:

let a = 3;
function fun(){
    return a
}
// 打印出來肯定是 'func(){return a}'
// 即使我們知道a值是3,但是機(jī)器并不知道,要等到運(yùn)行的時候,分析作用域,上下文,才知道要輸出什么
console.log(fun)
2017年2月15日 09:05
編輯回答
涼汐
var pow2=make_pow(2);//pow2是個function
//如果調(diào)用,則應(yīng)該這樣:
pow2();
2018年4月16日 15:59