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