在javascript中,函数可以没有名字;没有名称的函数叫“匿名函数”,该函数仅包含function关键字、参数和函数体,语法为“function ([args]){statements}”。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
在javascript中,函数可以没有名字。
没有名称的函数叫“匿名函数”,仅包含 function 关键字、参数和函数体。具体用法如下:
function ([args]) { statements }
示例1
下面代码定义一个匿名函数。
function (a, b) { //匿名函数 return a + b; }
在上面代码中,函数直接量与使用 function 语句定义函数结构基本相同,它们的结构都是固定的。但是函数直接量没有指定函数名,而是直接利用关键字 function 来表示函数的结构,这种函数也被称为匿名函数。
示例2
匿名函数就是一个表达式,即函数表达式,而不是函数结构的语句。下面把匿名函数作为一个值赋值给变量 f。
//把函数作为一个值直接赋值给变量 f var f = function (a, b) { return a + b; };
当把函数结构作为一个值赋值给变量之后,变量就可以作为函数被调用,此时变量就指向那个匿名函数。
console.log(f(1,2)); //返回值3
示例3
匿名函数作为值,可以参与更复杂的表达式运算。针对上面示例可以使用以下代码完成函数定义和调用一体化操作。
console.log( //把函数作为一个操作数进行调用 (function (a,b) { return a + b; })(1, 2)); //返回数值3
匿名函数的作用:
1、通过匿名函数可以实现闭包,关于闭包在后面的文章中会重点讲解。在这里简单介绍一下:闭包是可以访问在函数作用域内定义的变量的函数。若要创建一个闭包,往往都需要用到匿名函数。
2、模拟块级作用域,减少全局变量。执行完匿名函数,存储在内存中相对应的变量会被销毁,从而节省内存。再者,在大型多人开发的项目中,使用块级作用域,会大大降低命名冲突的问题,从而避免产生灾难性的后果。自此开发者再也不必担心搞乱全局作用域了。
【相关推荐:javascript视频教程、web前端】
以上就是javascript函数可以没有名字吗的详细内容,更多请关注php中文网其它相关文章!