天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

JavaScript語言中的Literal Syntax特性分析

我剛開始學習JavaScript的時候,老是會被JavaScript里的一些莫名其妙的語法形式搞的糊里糊涂的。而且也不知道到底它支持了多少那些莫名其妙的語法形式?現在通過這個幾個月的深入了解,算是把它們弄得比較清楚了,所以下面就來說說JS的Literal Syntax特性。

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

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

    我們編寫JS常用的數據類型包括: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.';


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

 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();


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

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


    比上面精簡的多吧?而且這里數組的文本化方式還可以寫的遠比這復雜的多,比如:

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


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

    不對呀,怎么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()"。然后"{}"內按"key:value"組織屬性和方法,key可以是任意[A-Za-z0-9_]的字符組合,甚至數字開頭都是合法的@_@,value是任何的合法的文本化JavaScript數據,最后每個鍵值對用","來分隔就行了。

JavaScript技術JavaScript語言中的Literal Syntax特性分析,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 良家人妻无码专区九色颜射 | 爽a中文字幕一区 | 蜜桃久久久亚洲精品成人 | 亚洲色爽视频在线观看 | 国产爱豆剧果冻传媒在线 | 精品亚洲AV无码蜜芽麻豆 | 少爷不要别揉了高H | 2021扫黑风暴在线观看免费完整版 | 人妻中文字幕无码系列 | 又紧又大又爽精品一区二区 | 99热在线免费播放 | 暖暖视频免费高清在线观看 视频 | 久久伊人免费 | 4399的视频BD高清在线观看免费 | 含羞草免费完整视频在线观看 | 999精品免费视频 | 一道精品视频一区二区三区 | 国产亚洲欧美ai在线看片 | 国产AV国片精品无套内谢无码 | 秋葵app秋葵官网18在线观看 | 97久久精品人人槡人妻人 | 欧美日韩无套内射另类 | 亚洲欧美强伦一区二区另类 | 成人天堂资源WWW在线 | 国产免费午夜高清 | 99视频精品全部免费 在线 | 国产AV果冻传奇麻豆 | 国产亚洲视频在线 | 亚洲成人在线免费观看 | 恋夜秀场支持安卓版全部视频国产 | 热久久伊大人香蕉网老师 | 亚洲成色WWW久久网站夜月 | 国内精品久久久久影院男同志 | 免费观看激烈日板子 | 最新无码国产在线视频9299 | 7756短视频| 毛片在线看片 | 狠狠干狠狠色 | 乡村教师电影完整版在线观看 | 好看AV中文字幕在线观看 | 欧美高清18 |