我為我的愚蠢問題道歉,我不擅長 javascript 和 angularjs。我一直在參考一些專案的代碼,對此我真的很困惑,它實際上是什么!function(a,b,c){}(x,y,z)。我以前從未見過。我不擅長 javascript 也不擅長 angularjs。感謝所有的幫助!
!function (e, n, t) {
"use strict";
// code
}(window, angular, jQuery)
uj5u.com熱心網友回復:
這是一種立即執行匿名函式的 hacky 方式。如果您要正常定義它(以 開頭的行function,那么它將立即將該函式提升為函式陳述句并強制您正常呼叫它。由于 ! 在它前面,這讓編譯器將其評估為函式運算式, 可以立即呼叫。這里的感嘆號是布林值not。括號或加號也可以。
這將是等效的代碼:
(e,n,t) => { /** */ }(window, angular, jQuery);
一樣
(function (e,n,t) { /** */ })(window, angular, jQuery);
因為括號將使該行也被評估為運算式。
匿名函式被定義,然后使用引數呼叫,這些引數window, angular, jQuery在e,n,t函式體內。
旁注:我不建議撰寫這樣的函式,因為它的語法不常見
uj5u.com熱心網友回復:
它只是簡單地告訴 js 忽略這個函式并且
它使它未定義像這樣:
function Demo(){
console.log('log something');}
輸出將是:
記錄一些東西
但是如果你!在函式前面加上 A,結果會是:
演示未定義
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/440095.html
上一篇:帶有for的Linux多行命令
