我在网上看到这样一段代码,函数体省去了很多内容,这应该是一个自执行匿名函数
var F = function(e) {
"use strict";
...
return e
} (F || {});
括号里面的 F || {}是什么意识?请老师指教,谢谢!!!
var F = function (e) {
"use strict"; //这行是定义此函数使用的是js严格模式
... //中间代码应该是对e进行扩展, 类似 e.newFunction = function () {};
return e; //返回已经拓展好的e对象
}(F || {}); //函数自执行, F || {}是短路使用, 如果F存在 e == F, 如果不存在 e == {}
/*
这样的主要目的就是扩展F这个对象, 如果已经存在F对象了, 就对F对象进行扩展
如果不存在F对象, 就是新建一个对象, 命名为F
防止直接声明F对象, 覆盖了之前声明F的部分
*/
就这个代码而言 就是 var F = function(e) {}本身
谢谢!我还是不清楚, (F || {})这里的 F 是随便给的还是上面的指 var F = function(e) {}中 F ?
传递一个默认值,让内部代码不会报错。或者是兼容扩展