請教老師,下面的自執(zhí)行函數(shù)怎么解釋?我有點看不懂
我在網(wǎng)上看到這樣一段代碼,函數(shù)體省去了很多內(nèi)容,這應該是一個自執(zhí)行匿名函數(shù)
var F = function(e) {
? ? "use strict";
? ? ?...
? ? ?return e
} (F || {});
括號里面的?F || {}是什么意識?請老師指教,謝謝?。?!
我在網(wǎng)上看到這樣一段代碼,函數(shù)體省去了很多內(nèi)容,這應該是一個自執(zhí)行匿名函數(shù)
var F = function(e) {
? ? "use strict";
? ? ?...
? ? ?return e
} (F || {});
括號里面的?F || {}是什么意識?請老師指教,謝謝?。?!
2014-12-14
舉報
2014-12-24
var F = function (e) {
? ? "use strict"; ?//這行是定義此函數(shù)使用的是js嚴格模式
? ??
? ? ... ?//中間代碼應該是對e進行擴展, 類似 e.newFunction = function () {};
? ? return e; ? //返回已經(jīng)拓展好的e對象
}(F || {}); ?//函數(shù)自執(zhí)行, F || {}是短路使用, 如果F存在 e == F, 如果不存在 e == {}
/*
?這樣的主要目的就是擴展F這個對象, 如果已經(jīng)存在F對象了, 就對F對象進行擴展
?如果不存在F對象, 就是新建一個對象, 命名為F
?防止直接聲明F對象, 覆蓋了之前聲明F的部分
?*/
2014-12-16
就這個代碼而言 就是 var F = function(e) {}本身
2014-12-15
謝謝!我還是不清楚,?(F || {})這里的 F 是隨便給的還是上面的指?var F = function(e) {}中 F ?
2014-12-15
傳遞一個默認值,讓內(nèi)部代碼不會報錯。或者是兼容擴展