WEB开发网
开发学院网页设计JavaScript JavaScript语言中的Literal Syntax特性 阅读

JavaScript语言中的Literal Syntax特性

 2010-09-14 13:22:13 来源:WEB开发网   
核心提示: var ary2 =[]; //空数组,相当于 new Array(); varary3=[1,[2,[3,[4,[5,[6,[7,[8,[9,[0]]]]]]]]]];第三个ary3是啥数组,JavaScript语言中的Literal Syntax特性(3),我也不知道了@_@,不对呀

var ary2 =[]; //空数组,相当于 new Array();

varary3=[1,[2,[3,[4,[5,[6,[7,[8,[9,[0]]]]]]]]]];

第三个ary3是啥数组,我也不知道了@_@。

不对呀,怎么ary[5]是new MyObject()呢?哦,不好意思,我们再来把MyObject示例一下,假如它被定义为:

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

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

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

那么我们的var obj = new MyObject()怎么文本化呢?其实也很简单的了,obj的文本化定义如下:

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

这个类实例的直接文本化定义虽然算不上精简,但也还不错吧。这样我们就可以用这个文本化类实例去替换ary中那个newMyObject()了。类实例文本化定义的语法为,用一对"{}"表示类,也就说"{}"完全等价于"new Object()"。然后"{}"内按"key:value"组织属性和方法,key可以是任意[A-Za-z0-9_]的字符组合,甚至数字开头都是合法的@_@,value是任何的合法的文本化JavaScript数据,最后每个键值对用","来分隔就行了。

上一页  1 2 3 

Tags:JavaScript Literal

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接