關于javascript function對象那些迷惑分析
更新時間:2011年10月24日 00:53:32 作者:
關于javascript function對象那些迷惑分析,學習js面向對象的朋友可以參考下。
js中function對象是一個令人著迷的東西,但由于他太過于靈活,常常令人迷惑,下面我貼一些代碼:
大多數(shù)人這樣簡寫:
《jsvascript語言精粹》整本書這樣寫:
函數(shù)可以立即運行并賦值:
var test = function () {} () // test === undefined
var test2 = function () {return '糖餅'}() // test2 === '糖餅'
但是函數(shù)簡寫方式不能直接運行,下面代碼會報錯:
如果用”()“運行符包裹后正常:
其實這個 函數(shù)名 test 已經(jīng)沒有意義了,去掉就成了匿名函數(shù),仍然可以自動執(zhí)行函數(shù)體內代碼,常用的匿名函數(shù)寫法:
匿名函數(shù)還可以這么寫可能會”美觀“一點:
看到這,剛接觸js哥么是否要瘋掉了?我曾看到我項目搞C語言的哥么見過匿名函數(shù)后立即石化了…
大多數(shù)人這樣簡寫:
復制代碼 代碼如下:
function test () {}
《jsvascript語言精粹》整本書這樣寫:
復制代碼 代碼如下:
var test = function () {}
函數(shù)可以立即運行并賦值:
復制代碼 代碼如下:
var test = function () {} () // test === undefined
var test2 = function () {return '糖餅'}() // test2 === '糖餅'
但是函數(shù)簡寫方式不能直接運行,下面代碼會報錯:
復制代碼 代碼如下:
function test() {}() // SyntaxError: syntax error
如果用”()“運行符包裹后正常:
復制代碼 代碼如下:
(function test () {})();
其實這個 函數(shù)名 test 已經(jīng)沒有意義了,去掉就成了匿名函數(shù),仍然可以自動執(zhí)行函數(shù)體內代碼,常用的匿名函數(shù)寫法:
復制代碼 代碼如下:
(function () {})();
匿名函數(shù)還可以這么寫可能會”美觀“一點:
復制代碼 代碼如下:
(function () {}());
看到這,剛接觸js哥么是否要瘋掉了?我曾看到我項目搞C語言的哥么見過匿名函數(shù)后立即石化了…
您可能感興趣的文章:
相關文章
AppBaseJs 類庫 網(wǎng)上常用的javascript函數(shù)及其他js類庫寫的
AppBaseJs類庫。一個借鑒了網(wǎng)上常用的函數(shù)及其他js類庫寫的,方便大家的調用。2010-03-03JavaScript接口實現(xiàn)代碼 (Interfaces In JavaScript)
接口是面向對象編程里的重要特性,遺憾的是JavaScript并沒有提供對接口的支持!怎么實現(xiàn)接口呢?2010-06-06javascript 單例模式演示代碼 javascript面向對象編程
單例模式的好處就是:類只實例化一次,省資源,節(jié)省開銷,提高速度,學習js面向對象編程的朋友可以參考下。2010-04-04