简单了解JS自执行函数

1、常见的function写法如下:

#1 函数表达式
var fn = functio(){}

#2函数声明
function fn(){}

#3匿名函数
function(){}

2、自执行函数

自执行函数也叫立即调用函数。
在函数体后面加括号就能立即调用,则这个函数必须是函数表达式,不能是函数声明。

#括号
(function(arg){
    console.log(arg)
})(1)  //输出1

#叹号
!function(arg){
    console.log(arg)
})(1)  //输出1

#加号
+function(arg){
    console.log(arg)
})(1)  //输出1

#减号
-function(arg){
    console.log(arg)
})(1)  //输出1

因为 + -是js的运算符,所以写括号的形式最为保险。

3、有什么用?

比如让网页根据用户使用的设备来判断让用户浏览pc页面还是手机端页面。

(function(){
    if(用户是手机){
        window.location = "手机.html";
    }else{
        return false;
    };
})()

但是你可能会说我可以用window.onload = function来做。
但window.onload = function 不能重复使用,同时存在多个的时候,就只执行一个。如下:

window.onload = function(){
    console.log(1);
};
window.onload = function(){
    console.log(2);
};
window.onload = function(){
    console.log(3);
}; //只输出3

但是自执行函数就没有这个问题:如下:

(function(){
    console.log(1)
})();
(function(){
    console.log(2)
})();
(function(){
    console.log(3)
})(); //输出 1 2 3
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,216评论 0 13
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,350评论 0 3
  • 第一部分 准入训练 第1章 进入忍者世界 js开发人员通常使用js库来实现通用和可重用的功能。这些库需要简单易用,...
    如201608阅读 1,383评论 1 2
  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 4,665评论 0 5
  • 走了一千年吧 才相遇在那棵开花的树下 你以灼热的目光拥抱我 我却低下娇羞的头 说那些深入骨头的相思吧 风吹来你森林...
    如歌的行板紫雪阅读 676评论 4 4