这是一个自执行函数吗

大家好,这是一个自执行函数吗,什么时候开始执行?
如果自执行函数一开始加载就执行,为什么没有看到浏览器加载这个js文件,没有看到它下载到本地,但是从控制台的结果来看,确实已经执行了

(function() {
    console.log("this function is starting to exe.....")
    if (!$.cookie("ms")) {
        location.assign(object.getUrl());
        return;
    }
})();

by the way,大家在验证用户是否已经登录了是用什么方法,比如说login.html登录,登录成功才可以到main.html,有个拦截就是如果买有发现登录的cookie 就直接跳转到login.html

方便下面回答问题的同学,提供截图:
图片描述
图片描述

阅读 2.7k
4 个回答

确实是自执行函数。表达式(function(){...})(),前面括号中的是定义了一个匿名函数,后面的括号则直接执行这个函数,整个表达式构成了一个自执行函数表达式。


补充:

看你的测试代码,打印的是true,这不就证明了你是能取到cookie的吗?因为你的if里用的是取反操作!$.cookie(),当不能取到值时会执行if分支,能取到值时则是执行else分支。你把if里面的!去掉试试。

在没有阻塞的情况下,文件代码顺序执行到该代码处,就会执行~

是自执行函数,当文件顺序执行到这块代码处就会执行

是的,代码执行到这里就会执行。
关于后面一个问题没看懂,文件不加载到本地怎么执行?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题