最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript語言中的Literal Syntax特性分析

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

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

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

    我們編寫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.';


    對于復雜數(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ù)組的文本化方式還可以寫的遠比這復雜的多,比如:

   var ary2 = []; //空數(shù)組,相當于 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ù),最后每個鍵值對用","來分隔就行了。

相關文章

  • WebGL高級變換之Matrix4使用介紹

    WebGL高級變換之Matrix4使用介紹

    這篇文章主要為大家介紹了WebGL高級變換之Matrix4使用介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • js仿手機頁面文件下拉刷新效果

    js仿手機頁面文件下拉刷新效果

    這篇文章主要為大家詳細介紹了js仿手機頁面文件的下拉刷新,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 鼠標移動到圖片名上,顯示圖片的簡單實例

    鼠標移動到圖片名上,顯示圖片的簡單實例

    鼠標移動到名(wait.gif)上,顯示圖片,鼠標移開則不顯示圖片
    2013-07-07
  • javascript實現(xiàn)的固定位置懸浮窗口實例

    javascript實現(xiàn)的固定位置懸浮窗口實例

    這篇文章主要介紹了javascript實現(xiàn)的固定位置懸浮窗口,以一個完整實例形式詳細分析了javascript實現(xiàn)固定位置懸浮窗口的相關技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • JS實現(xiàn)div模塊的截圖并下載功能

    JS實現(xiàn)div模塊的截圖并下載功能

    這篇文章主要介紹了JS實現(xiàn)div模塊的截圖并下載功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-10-10
  • 30個高逼格代碼的JavaScript高級單行代碼

    30個高逼格代碼的JavaScript高級單行代碼

    這篇文章中列出了一個系列的 30 個 JavaScript 單行代碼,它們在使用 vanilla js(≥ ES6)進行開發(fā)時非常有用,它們也是使用該語言在最新版本中為我們提供的所有功能來解決問題的優(yōu)雅方式,將它們分為以下5大類:日期、字符串、數(shù)字、數(shù)組、工具
    2023-08-08
  • JS匿名函數(shù)實例分析

    JS匿名函數(shù)實例分析

    這篇文章主要介紹了JS匿名函數(shù),結合實例形式分析了javascript匿名函數(shù)的定義、參數(shù)、返回值等相關使用方法,需要的朋友可以參考下
    2016-11-11
  • 跟我學習javascript的arguments對象

    跟我學習javascript的arguments對象

    跟我學習javascript的arguments對象,需要的朋友可以參考下
    2015-11-11
  • Bootstrap CSS組件之按鈕下拉菜單

    Bootstrap CSS組件之按鈕下拉菜單

    這篇文章主要為大家詳細介紹了Bootstrap CSS組件之按鈕下拉菜單,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • JavaScript相等運算符的九條規(guī)則示例詳解

    JavaScript相等運算符的九條規(guī)則示例詳解

    這篇文章主要給大家介紹了關于JavaScript相等運算符的九條規(guī)則,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用JavaScript具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-10-10

最新評論

丹江口市| 赣榆县| 湾仔区| 岑溪市| 曲沃县| 青浦区| 东丰县| 厦门市| 丽水市| 天台县| 平定县| 台北县| 共和县| 靖西县| 夏邑县| 嘉定区| 古丈县| 武清区| 调兵山市| 武义县| 大庆市| 海南省| 仙居县| 乳山市| 托里县| 余江县| 深水埗区| 赣州市| 松江区| 辉南县| 迁西县| 谷城县| 台江县| 镇雄县| 灵石县| 咸丰县| 江西省| 宜都市| 邓州市| 郑州市| 新巴尔虎右旗|