Skip to content

《你不知道的JavaScript(上)》笔记——函数作用域和块作用域 #41

@simpul

Description

@simpul

关于函数声明:如果 function 是声明中的第一个词, 那么就是一个函数声明, 否则就是一个函数表达式。例如匿名函数这种形式,函数会被当作函数表达式而不是一个标准的函数声明来处理。

(function(){
    // 立即执行函数表达式
})()

这种表达式有另外一种用途是倒置代码的运行顺序, 将需要运行的函数放在第二位, 在 IIFE执行之后当作参数传递进去。

var a = 2;
(function IIFE( def ) {
	def( window );
})(function def( global ) {
	var a = 3;
	console.log( a ); // 3
	console.log( global.a ); // 2
});

Metadata

Metadata

Assignees

No one assigned

    Labels

    前端技术前端相关的一切内容(HTML,CSS,JS,框架等)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions