欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript語言中的Literal Syntax特性分析

 更新時間:2007年03月08日 00:00:00   作者:  
我剛開始學(xué)習(xí)JavaScript的時候,老是會被JavaScript里的一些莫名其妙的語法形式搞的糊里糊涂的。而且也不知道到底它支持了多少那些莫名其妙的語法形式?現(xiàn)在通過這個幾個月的深入了解,算是把它們弄得比較清楚了,所以下面就來說說JS的Literal Syntax特性。

    JavaScript語言的文本化的特性?My God,難道有哪門語言的編寫不是使用文本嗎?不使用文本還能用啥?用意識流嗎?真是faint哈。

    雖然我們的每種語言都使用文本來表示,說遠(yuǎn)點asm是文本的吧,BASIC是文本的吧,C/C++、C#、java啥的都是文本吧。這沒有錯,它們的語言表達(dá)都是文本形式,可是它們卻不能使用文本來表示所有內(nèi)容。簡單類型比如數(shù)字啊字符串啊還行,但是C#或Java可以用文本表示一個對象實例嗎(不是用一堆定義語句,然后再new個對象實例哦)?顯然是不行的,然而JavaScript卻提供了對所有數(shù)據(jù)類型包括復(fù)雜對象的文本化書寫方式。

    我們編寫JS常用的數(shù)據(jù)類型包括:Number、Boolean、String、Array、Function和Object。其中這里面的Number、Boolean和String屬于簡單類型,文字方式書寫是它們的基本方式,如果用new xxx()來定義反而會讓人覺得是脫褲子打屁。 
 Number: var i = 100; i = 100.11;
 Boolean: 
var b = true; b = false;
 String: 
var str = 'this is a string.';


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

 var ary = new Array(6);
 ary[
0= null;
 ary[
1= 1;
 ary[
2= 'string';
 ary[
3= true;
 ary[
4= function()
 {
     
return 'keke';
 };
 ary[
5= new MyObject();


    我們使用文本方式(也就是我們平時說的初始化方式)來寫這個數(shù)組它將是:

 var ary1 = [null1, 'string', truefunction(){return 'keke';}, new MyObject()];


    比上面精簡的多吧?而且這里數(shù)組的文本化方式還可以寫的遠(yuǎn)比這復(fù)雜的多,比如:

   var ary2 = []; //空數(shù)組,相當(dāng)于 new Array();
   var ary3 = [1,[2,[3,[4,[5,[6,[7,[8,[9,[0]]]]]]]]]];


    第三個ary3是啥數(shù)組,我也不知道了@_@。

    不對呀,怎么ary[5]是new MyObject()呢?哦,不好意思,我們再來把MyObject示例一下,假如它被定義為:

 function MyObject()
 {
     
this.Properties1 = 1;
     
this.Properties2 = '2';
     
this.Properties3 = [3];
    
this.toString = function()
     {
          
return '[class MyObject]';
     };
 }

 MyObject.prototype.Method1 
= function()
 {
     
return this.Properties1 + this.Properties3[0];
 };

 MyObject.prototype.Method2 
= function()
 {
     
return this.Properties2;
 };


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

 var obj = 
     {
         Properties1 : 
1, Properties2 : '2', Properties3 : [3],
         Method1 : 
function(){ return this.Properties1 + this.Properties3[0];},
         Method2 : 
function(){ return this.Preperties2; }
     };


    這個類實例的直接文本化定義雖然算不上精簡,但也還不錯吧。這樣我們就可以用這個文本化類實例去替換ary中那個new MyObject()了。類實例文本化定義的語法為,用一對"{}"表示類,也就說"{}"完全等價于"new Object()"。然后"{}"內(nèi)按"key:value"組織屬性和方法,key可以是任意[A-Za-z0-9_]的字符組合,甚至數(shù)字開頭都是合法的@_@,value是任何的合法的文本化JavaScript數(shù)據(jù),最后每個鍵值對用","來分隔就行了。

相關(guān)文章

  • 關(guān)于數(shù)據(jù)與后端進(jìn)行交流匹配(點亮星星)

    關(guān)于數(shù)據(jù)與后端進(jìn)行交流匹配(點亮星星)

    這篇文章主要介紹了關(guān)于數(shù)據(jù)與后端進(jìn)行交流匹配(點亮星星) 的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • 微信小程序中不同頁面?zhèn)鬟f參數(shù)的操作方法

    微信小程序中不同頁面?zhèn)鬟f參數(shù)的操作方法

    這篇文章主要介紹了微信小程序中不同頁面?zhèn)鬟f參數(shù)的操作方法,在開發(fā)項目中,避免不了不同頁面之間傳遞數(shù)據(jù)等,那么就需要進(jìn)行不同頁面之間的一個數(shù)據(jù)傳遞的,需要的朋友可以參考下
    2023-12-12
  • Bootstrap 實現(xiàn)查詢的完美方法

    Bootstrap 實現(xiàn)查詢的完美方法

    Bootstrap,來自 Twitter,是目前最受歡迎的前端框架。這篇文章主要介紹了Bootstrap 實現(xiàn)查詢的完美方法,需要的朋友可以參考下
    2016-10-10
  • 小程序ios音頻播放沒聲音問題的解決

    小程序ios音頻播放沒聲音問題的解決

    這篇文章主要介紹了小程序ios音頻播放沒聲音問題的解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • javascript完美實現(xiàn)給定日期返回上月日期的方法

    javascript完美實現(xiàn)給定日期返回上月日期的方法

    這篇文章主要介紹了javascript完美實現(xiàn)給定日期返回上月日期的方法,結(jié)合實例形式分析了javascript日期時間的計算技巧,并給出了格式化日期時間的操作方法,需要的朋友可以參考下
    2017-06-06
  • JS中去掉array中重復(fù)元素的方法

    JS中去掉array中重復(fù)元素的方法

    這篇文章主要介紹了JS中去掉array中重復(fù)元素的方法,需要的朋友可以參考下
    2017-05-05
  • 微信小程序?qū)崿F(xiàn)上傳圖片小功能

    微信小程序?qū)崿F(xiàn)上傳圖片小功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)上傳圖片小功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • javascript簡單性能問題及學(xué)習(xí)筆記

    javascript簡單性能問題及學(xué)習(xí)筆記

    最近在看一本書:《高性能javaScript》,發(fā)現(xiàn)自己平時寫js存在很多小細(xì)節(jié)上的問題,雖然這些問題不會導(dǎo)致程序運行出錯,但是會導(dǎo)致界面加載變慢,用戶體驗變差,那么我們就來細(xì)細(xì)數(shù)一下應(yīng)該注意的地方吧
    2014-02-02
  • TypeScript接口介紹

    TypeScript接口介紹

    這篇文章主要介紹了TypeScript接口,接口的作用就是為這些類型命名和為你的代碼或第三方代碼定義契約。下面我們一起進(jìn)入文章看看TypeScript接口得具體定義吧,需要的朋友也可以參考一下
    2021-12-12
  • 讓編輯器支持word復(fù)制黏貼、截屏的js代碼

    讓編輯器支持word復(fù)制黏貼、截屏的js代碼

    這篇文章主要為大家詳細(xì)介紹了讓編輯器支持word復(fù)制黏貼、截屏的js代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10

最新評論