猿问

javascript函数定义的语法问题

我是个javascript新手,读别人的javascript代码,有一个语法不太理解,上网查也不知道怎么查,只好麻烦大家了。
varfuncName=function(){...}();
类似于上面这种形式是什么意思呢。
varfuncName=function(){...}我可以理解是定义函数。后面怎么还有一对括号()呢?
MM们
浏览 397回答 2
2回答

素胚勾勒不出你

直接看代码吧:varfn=function(){//xxxxxxxreturn"abc";}()console.log(fn)//"abc"如果没有括号,那就是给匿名函数起个名字叫fn,如果有括号就表示调用了匿名函数,将返回值赋给fnPS:不要修改答案啊,改了就文不对题了,亲~

当年话下

给你一个更直观的例子functiongetA(){return"a";}varname=getA();console.log(name);varname=function(){return"a"}();console.log(name);上面两个例子是等效的,name都会被赋值为"a",但是第二种方法比第一种简单。鉴于你是初学者,这里我就不提什么是闭包了,怕你搞混淆。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答