【JS】匿名函数

JavaScript08

【JS】匿名函数,第1张

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

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

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

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

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

第一种(常用)

( function(){…} )()

第二种(常用)

( function(){…}() )

第三种(不常用)

~function(){…}()

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

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

第一种写法

在控制台输出 1

第二种写法

在控制台输出 2

第三种写法

在控制台输出 -4

在控制台输出2

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

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

匿名函数在声明时不用带上函数名, 可以把匿名函数当作一个function类型的值来对待

声明一个普通的函数 function func() { ... } 可以认为和var func = function() { ... }相同, 但是普通函数会自动把函数名"提到"作用域的最前面, 基本上普通函数和匿名函数就只有这一个区别

function xxx() {

foo()//foo被提到了作用域的最前面, 于是这里可以正常调用foo函数

bar()//这里会报错bar是个undefined

function foo(){}

var bar = function(){}

}