亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

函數調用問題

函數調用問題

Youruncle 2017-01-12 20:39:22
function game(){ init(); lastTime=Date.now(); deltaTime=0; gameloop();}請問兩者之間有什么區別?game();game;
查看完整描述

3 回答

已采納
?
習慣受傷

TA貢獻885條經驗 獲得超1144個贊

game(); 這樣是一個函數調用語句,是執行這個函數。

game;這其實并不是一個完整得語句,但是他不會報錯,因為他本身就代表game這個函數。我們做一個測試,我最喜歡用代碼來證明:

function?game(){
	console.log("gaming..");
}
game();????????//注1
game;??????????//注2
var?x?=?game;??//注3
x();???????????//注4
console.log(x?==?game);??//注5

我分別來講解一下:

注1:直接調用game();這個函數,控制臺輸出:gaming..

注2:這句不會執行,但是不回拋出異常,控制臺沒有輸出。

注3:這里聲明一個變量x將game賦值給x。

注4:調用x函數,控制臺輸出:gaming..,由此看到game這個函數名可以理解為函數得一個指針。

注5:控制臺輸出:true,可以看到x變量指向game函數。

查看完整回答
1 反對 回復 2017-01-13
?
peterJS

TA貢獻6條經驗 獲得超1個贊

函數名是一個指針,它指向堆內存中保存該函數代碼塊的內存空間,()是可以理解成函數執行的標志位,函數名后面帶上小括號表示執行函數名指向內存空間中的這段代碼,如果不帶小括號就是一個簡單的指針不會執行它指向的代碼塊,希望這樣解釋你能夠理解!
查看完整回答
反對 回復 2017-01-12
?
拿不到鑰匙的車放不進手機的歌

TA貢獻71條經驗 獲得超29個贊


據我說知 game()表示調用函數,game表示調用結果

查看完整回答
反對 回復 2017-01-12
  • 3 回答
  • 0 關注
  • 1548 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號