課程
/前端開發
/JavaScript
/JavaScript深入淺出
有特殊含義?
2015-03-25
源自:JavaScript深入淺出 3-4
正在回答
告訴瀏覽器自動運行這個匿名函數
qazxcvbnmlp 提問者
沒錯哦,就是匿名函數。
不僅可以用!,還可以用+, -, ~都可以。
解釋器在解釋一個語句時,如果以function開頭,就會理解為函數聲明。
而前面加一個!可以讓解釋器理解為函數表達式,這樣就可以立即調用了。
例如:
!funciton() {
}();
而省略了!的話:
function() {
就會理解為函數聲明,而函數聲明沒有名字會報錯。如果有函數名:
function f() {
還是會報錯,因為function f(){}函數聲明會被前置,相當于:
function f(){}
(); // 這里報錯
慕UI3524263
舉報
由淺入深學習JS語言特性,且解析JS常見誤區,從入門到掌握
3 回答下面function 前面加個 ! 是什么意思?
4 回答function 前面的感嘆號什么意思?
2 回答為什么function 前要加個!
4 回答$加在變量前是什么意思???
3 回答關于函數名前面加new到底是什么意思
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-03-25
告訴瀏覽器自動運行這個匿名函數
2015-03-26
沒錯哦,就是匿名函數。
不僅可以用!,還可以用+, -, ~都可以。
解釋器在解釋一個語句時,如果以function開頭,就會理解為函數聲明。
而前面加一個!可以讓解釋器理解為函數表達式,這樣就可以立即調用了。
例如:
!funciton() {
}();
而省略了!的話:
function() {
}();
就會理解為函數聲明,而函數聲明沒有名字會報錯。如果有函數名:
function f() {
}();
還是會報錯,因為function f(){}函數聲明會被前置,相當于:
function f(){}
(); // 這里報錯