課程
/前端開發(fā)
/JavaScript
/JavaScript進(jìn)階篇
為什么調(diào)用的時(shí)候是(sortNum) 不是(sortNum())呢?為什么(sortNum())不行呢?
2016-03-23
源自:JavaScript進(jìn)階篇 7-22
正在回答
不加()是指針;
函數(shù)只要是要調(diào)用它進(jìn)行執(zhí)行的,都必須加括號(hào)。此時(shí),函數(shù)()實(shí)際上等于函數(shù)的返回值。當(dāng)然,有些沒有返回值,但已經(jīng)執(zhí)行了函數(shù)體內(nèi)的行為,這個(gè)是根本,就是說,只要加括號(hào)的,就代表將會(huì)執(zhí)行函數(shù)體代碼。
不加括號(hào)的,都是把函數(shù)名稱作為函數(shù)的指針,用于傳參,此時(shí)不是得到函數(shù)的結(jié)果,因?yàn)椴粫?huì)運(yùn)行函數(shù)體代碼。它只是傳遞了函數(shù)體所在的地址位置,在需要的時(shí)候好找到函數(shù)體去執(zhí)行。
參考http://www.zhihu.com/question/31044040
我也不是很懂,函數(shù)名是函數(shù)的引用地址,不加()應(yīng)該相當(dāng)于這里的參數(shù)是整個(gè)函數(shù),加上()表示執(zhí)行函數(shù),即 sort(sortNum())等于sort(b-a);這應(yīng)該就是區(qū)別了,我們先記住這么用,等后面能力強(qiáng)了,再回來看,就迎刃而解了。我想應(yīng)該是我們不清楚sort()方法具體的排序機(jī)制,加油。
Lshah 提問者
寫法不同:
1,setTimeout(sortNum,1000);
2,setTimeout("sortNum()",1000);
假如,傳“sortNum()”,那么為什么不傳參數(shù)呢?應(yīng)該要sortNum(a,b)才對。但是,很明顯排序的參數(shù)就是數(shù)組里面的元素。所以,我推斷:參數(shù)是默認(rèn)傳進(jìn)去的。那就可以省略參數(shù),相應(yīng)的()也就可以省略了。
OnlySee 回復(fù) Lshah 提問者
Lshah 提問者 回復(fù) OnlySee
舉報(bào)
本課程從如何插入JS代碼開始,帶您進(jìn)入網(wǎng)頁動(dòng)態(tài)交互世界
4 回答為什么onclick=后面接一個(gè)函數(shù)必須加引號(hào)
2 回答調(diào)用函數(shù)括號(hào)后面加不加分號(hào)
3 回答為什么我的添加項(xiàng)目函數(shù)不能實(shí)現(xiàn)添加項(xiàng)目功能
2 回答函數(shù)合并后為什么不能正常運(yùn)行了?
3 回答為什么不能直接寫函數(shù)名調(diào)用函數(shù)?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-04-30
不加()是指針;
函數(shù)只要是要調(diào)用它進(jìn)行執(zhí)行的,都必須加括號(hào)。此時(shí),函數(shù)()實(shí)際上等于函數(shù)的返回值。當(dāng)然,有些沒有返回值,但已經(jīng)執(zhí)行了函數(shù)體內(nèi)的行為,這個(gè)是根本,就是說,只要加括號(hào)的,就代表將會(huì)執(zhí)行函數(shù)體代碼。
不加括號(hào)的,都是把函數(shù)名稱作為函數(shù)的指針,用于傳參,此時(shí)不是得到函數(shù)的結(jié)果,因?yàn)椴粫?huì)運(yùn)行函數(shù)體代碼。它只是傳遞了函數(shù)體所在的地址位置,在需要的時(shí)候好找到函數(shù)體去執(zhí)行。
參考http://www.zhihu.com/question/31044040
2016-03-28
我也不是很懂,函數(shù)名是函數(shù)的引用地址,不加()應(yīng)該相當(dāng)于這里的參數(shù)是整個(gè)函數(shù),加上()表示執(zhí)行函數(shù),即 sort(sortNum())等于sort(b-a);這應(yīng)該就是區(qū)別了,我們先記住這么用,等后面能力強(qiáng)了,再回來看,就迎刃而解了。我想應(yīng)該是我們不清楚sort()方法具體的排序機(jī)制,加油。
2016-03-23
寫法不同:
1,setTimeout(sortNum,1000);
2,setTimeout("sortNum()",1000);
2016-03-23
假如,傳“sortNum()”,那么為什么不傳參數(shù)呢?應(yīng)該要sortNum(a,b)才對。但是,很明顯排序的參數(shù)就是數(shù)組里面的元素。所以,我推斷:參數(shù)是默認(rèn)傳進(jìn)去的。那就可以省略參數(shù),相應(yīng)的()也就可以省略了。