什么是匿名函数?
在前端面试中面试官基本都会问到什么是匿名函数、什么是闭包函数。 本文就先来说一下什么是匿名函数。 匿名函数顾名思义就是没有名字的函数,通常我们所写的函数都是这样的: 1 function do(){ 2 // 执行代码 3 }; 4 5 // 调用 6 do(); 这种写法是定义了一个名为do的函数,并通过函数名称进行调用。 那如果没有名字是什么样子的啊? 1 function () { 2 // 执行代码 3 }; 这种写法在编译的时候会报错: Uncaught SyntaxError: Unexpected token ( 这是为什么呢?原来时因为浏览器在进行语法分析的时候发现这个函数根本没法执行。 那要为什么还要匿名函数呢?在编程语言中如果又个编码方式那这种编码方式肯定是能正常运行的,那该如何让匿名函数跑起来呢?再看下面的例子: var do = function () { // 执行代码 } do(); 这种函数大家肯定都知道,其实这种写法就是将匿名函数复制为变量do,再通过变量名执行函数。 (function(){ // 执行代码 console.log("打印成功"); })(); 上面代码是什么意思呢? 可以先把上面的代码分几个部分: 第一部分是括号里面的匿名函数,第二部分是加上括号的匿名函数,第三部分带上最后面执行用的括号。