为了账号安全,请及时绑定邮箱和手机立即绑定

请教老师,下面的自执行函数怎么解释?我有点看不懂

我在网上看到这样一段代码,函数体省去了很多内容,这应该是一个自执行匿名函数

var F = function(e) {

    "use strict";

     ...

     return e

} (F || {});

括号里面的 F || {}是什么意识?请老师指教,谢谢!!!

正在回答

4 回答

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的部分

 */


2 回复 有任何疑惑可以回复我~

就这个代码而言 就是 var F = function(e) {}本身

0 回复 有任何疑惑可以回复我~

谢谢!我还是不清楚, (F || {})这里的 F 是随便给的还是上面的指 var F = function(e) {}中 F ?

0 回复 有任何疑惑可以回复我~

传递一个默认值,让内部代码不会报错。或者是兼容扩展

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请教老师,下面的自执行函数怎么解释?我有点看不懂

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信