Heim  >  Artikel  >  Web-Frontend  >  关于javascript function对象那些迷惑分析_js面向对象

关于javascript function对象那些迷惑分析_js面向对象

WBOY
WBOYOriginal
2016-05-16 18:00:19941Durchsuche

js中function对象是一个令人着迷的东西,但由于他太过于灵活,常常令人迷惑,下面我贴一些代码:

大多数人这样简写:

复制代码 代码如下:
function test () {}


《jsvascript语言精粹》整本书这样写:
复制代码 代码如下:
var test = function () {}


函数可以立即运行并赋值:
复制代码 代码如下:

var test = function () {} () // test === undefined
var test2 = function () {return '糖饼'}() // test2 === '糖饼'

但是函数简写方式不能直接运行,下面代码会报错:
复制代码 代码如下:
function test() {}() // SyntaxError: syntax error


如果用”()“运行符包裹后正常:
复制代码 代码如下:
(function test () {})();


其实这个 函数名 test 已经没有意义了,去掉就成了匿名函数,仍然可以自动执行函数体内代码,常用的匿名函数写法:
复制代码 代码如下:
(function () {})();


匿名函数还可以这么写可能会”美观“一点:
复制代码 代码如下:
(function () {}());


看到这,刚接触js哥么是否要疯掉了?我曾看到我项目搞C语言的哥么见过匿名函数后立即石化了…
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn