JavaScript語(yǔ)言中的Literal Syntax特性分析
JavaScript語(yǔ)言的文本化的特性?My God,難道有哪門語(yǔ)言的編寫不是使用文本嗎?不使用文本還能用啥?用意識(shí)流嗎?真是faint哈。
雖然我們的每種語(yǔ)言都使用文本來(lái)表示,說(shuō)遠(yuǎn)點(diǎn)asm是文本的吧,BASIC是文本的吧,C/C++、C#、java啥的都是文本吧。這沒(méi)有錯(cuò),它們的語(yǔ)言表達(dá)都是文本形式,可是它們卻不能使用文本來(lái)表示所有內(nèi)容。簡(jiǎn)單類型比如數(shù)字啊字符串啊還行,但是C#或Java可以用文本表示一個(gè)對(duì)象實(shí)例嗎(不是用一堆定義語(yǔ)句,然后再new個(gè)對(duì)象實(shí)例哦)?顯然是不行的,然而JavaScript卻提供了對(duì)所有數(shù)據(jù)類型包括復(fù)雜對(duì)象的文本化書寫方式。
我們編寫JS常用的數(shù)據(jù)類型包括:Number、Boolean、String、Array、Function和Object。其中這里面的Number、Boolean和String屬于簡(jiǎn)單類型,文字方式書寫是它們的基本方式,如果用new xxx()來(lái)定義反而會(huì)讓人覺得是脫褲子打屁。



對(duì)于復(fù)雜數(shù)據(jù)類型,函數(shù)、數(shù)組和對(duì)象我們?cè)趺崔k呢?函數(shù)不用說(shuō)了,都是以文本方式定義的。下面就看看數(shù)組和對(duì)象是怎么表示的吧。假如我們有一個(gè)數(shù)組:










我們使用文本方式(也就是我們平時(shí)說(shuō)的初始化方式)來(lái)寫這個(gè)數(shù)組它將是:


比上面精簡(jiǎn)的多吧?而且這里數(shù)組的文本化方式還可以寫的遠(yuǎn)比這復(fù)雜的多,比如:
var ary3 = [1,[2,[3,[4,[5,[6,[7,[8,[9,[0]]]]]]]]]];
第三個(gè)ary3是啥數(shù)組,我也不知道了@_@。
不對(duì)呀,怎么ary[5]是new MyObject()呢?哦,不好意思,我們?cè)賮?lái)把MyObject示例一下,假如它被定義為:





















那么我們的var obj = new MyObject()怎么文本化呢?其實(shí)也很簡(jiǎn)單的了,obj的文本化定義如下:






這個(gè)類實(shí)例的直接文本化定義雖然算不上精簡(jiǎn),但也還不錯(cuò)吧。這樣我們就可以用這個(gè)文本化類實(shí)例去替換ary中那個(gè)new MyObject()了。類實(shí)例文本化定義的語(yǔ)法為,用一對(duì)"{}"表示類,也就說(shuō)"{}"完全等價(jià)于"new Object()"。然后"{}"內(nèi)按"key:value"組織屬性和方法,key可以是任意[A-Za-z0-9_]的字符組合,甚至數(shù)字開頭都是合法的@_@,value是任何的合法的文本化JavaScript數(shù)據(jù),最后每個(gè)鍵值對(duì)用","來(lái)分隔就行了。
相關(guān)文章
關(guān)于數(shù)據(jù)與后端進(jìn)行交流匹配(點(diǎn)亮星星)
這篇文章主要介紹了關(guān)于數(shù)據(jù)與后端進(jìn)行交流匹配(點(diǎn)亮星星) 的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08微信小程序中不同頁(yè)面?zhèn)鬟f參數(shù)的操作方法
這篇文章主要介紹了微信小程序中不同頁(yè)面?zhèn)鬟f參數(shù)的操作方法,在開發(fā)項(xiàng)目中,避免不了不同頁(yè)面之間傳遞數(shù)據(jù)等,那么就需要進(jìn)行不同頁(yè)面之間的一個(gè)數(shù)據(jù)傳遞的,需要的朋友可以參考下2023-12-12Bootstrap 實(shí)現(xiàn)查詢的完美方法
Bootstrap,來(lái)自 Twitter,是目前最受歡迎的前端框架。這篇文章主要介紹了Bootstrap 實(shí)現(xiàn)查詢的完美方法,需要的朋友可以參考下2016-10-10javascript完美實(shí)現(xiàn)給定日期返回上月日期的方法
這篇文章主要介紹了javascript完美實(shí)現(xiàn)給定日期返回上月日期的方法,結(jié)合實(shí)例形式分析了javascript日期時(shí)間的計(jì)算技巧,并給出了格式化日期時(shí)間的操作方法,需要的朋友可以參考下2017-06-06javascript簡(jiǎn)單性能問(wèn)題及學(xué)習(xí)筆記
最近在看一本書:《高性能javaScript》,發(fā)現(xiàn)自己平時(shí)寫js存在很多小細(xì)節(jié)上的問(wèn)題,雖然這些問(wèn)題不會(huì)導(dǎo)致程序運(yùn)行出錯(cuò),但是會(huì)導(dǎo)致界面加載變慢,用戶體驗(yàn)變差,那么我們就來(lái)細(xì)細(xì)數(shù)一下應(yīng)該注意的地方吧2014-02-02