【JS】匿名函数

JavaScript06

【JS】匿名函数,第1张

本节讲解 3 种原生JS的匿名函数。

匿名函数又叫立即执行函数。

因为是匿名的,所以不能被调用。

因为不能被调用,所以不立即执行的话就没意义了。

因为立即执行,所以在执行完之后就会被销毁。

第一种(常用)

( function(){…} )()

第二种(常用)

( function(){…}() )

第三种(不常用)

~function(){…}()

前两种写法,返回值都是正常的。

第三种写法的返回值会比较奇怪,所以很少用。

第一种写法

在控制台输出 1

第二种写法

在控制台输出 2

第三种写法

在控制台输出 -4

在控制台输出2

假设第三种写法的返回值是未知数 x。

则得到的返回值是:-(x + 1)

//作用域和匿名函数没用任何关系

//js中函数内的变量在函数内的任何地方都能访问

//window对象下定义的变量均为全局变量,如:

var i = 1    //这个变量就是全局变量

function fun(){

    var j = 1    //这个j是局部变量,在fun里面的任何地方都能访问

}

//说匿名函数

$(function(){

    //这个function(){}就是匿名函数

})

var fun1 = function(){

    //这个function(){}也是匿名函数

}

//论匿名函数的重要性

//js中的匿名函数的重要性不亚于三元运算

//不过js中任何能用匿名函数实现的代码用普通函数都能实现

//就好比任何三元运算都能用if实现一样

$("body").click(function(){

    //jquery最基本的绑定click事件的一种

})

//上面这里用的就是匿名函数,可以用下面的代码代替

function clickHandle(){

    

}

$("body").click(clickHandle)

//说自运行函数

(function(){

    //这里还是匿名函数

})()

//上面的自运行函数(闭包操作)可以改成下面这样

function tempFun(){

}

tempFun()

//有帮助的话麻烦采纳下,手打不易,谢谢!