匿名函数问题

首先要知道什么是匿名函数,我们知道函数的声明方式有以下两种:

function fn() {} // 声明式

var fn = function(){} // 赋值表达式

然后调用这个函数的时候就在函数名后面加一对小括号:

fn ()
但是,当我们直接在声明的函数后面直接加()时,浏览器会报错:

function(){}() // 浏览器无法解析
但是如果将函数体用()包起来,是不会报错的,像下面这样:

(function(){})() // 这个也就是匿名函数
原因是,使用括号包裹函数体,浏览器会以函数表达式的方式调用定义函数,也就是任何能将函数变成一个函数表达式的方法,都可以被浏览器正确接续,有这个功能的符号比如:! + - || 等一元操作符

posted @ 2021-10-11 20:40  罗非鱼plus  阅读(42)  评论(0编辑  收藏  举报