首页  >  文章  >  web前端  >  什么是javascript对象和数组的初始化表达式?

什么是javascript对象和数组的初始化表达式?

伊谢尔伦
伊谢尔伦原创
2017-07-19 09:50:492188浏览

对象和数组初始化实际上是新创建的对象和数组,这些初始化的表达式有时候叫做“对象直接量”和“数组直接量”。然而和布尔直接量不同,他们不是原始表达式,因为他们所包含的成员或者元素都子表达式。

数组的初始化表达式语法非常简单,我们以下开始

数组的初始化表达式是通过一对方括号和其内由逗号隔开的列表构成的,初始化结果是一个新创建的数组。数组的元素是逗号分隔表达式的值。

[] //一个空数组;[]内留空即表示该数组没有任何元素
[1+2,3+4] //有两个元素的数组,第一个3,第二个是7
数组初始化表达式中的元素初始化表达式可以是数组初始化表达式。也就是说表达式是可以嵌套的

var mat = [[1,2,3],[4,5,6],[7,8,9]];

数组直接量中列表之间的元素可以省略,空位就会填充undefined.例如下面:

var a=[1,,,,5]

其中4个元素是undefined.数组直接量的结尾处留下逗号,这时不会创建一个新的值为undefined的元素。

对象初始化表达式和数组初始化表达式非常相似,只是方括号被花括号代替。并每个字表达式包含一个属性名和非冒号作为前缀。

var p = {x: 2.1,y: -3} //一个拥有两个属性成员的对象
   var q = {}; //空对象
   q.x=2.1;q.y=-3;  //q的属性成员和p的一样

对象直接量也可以嵌套,比如

var anh = {left:{x:2,y:3},
    right:{x:4,y:5}}

javascript在计算对象初始化表达式的值时候,对象表达式都会各自计算一次,并且他们不必包含常数值:它们可以是任意javascript表达式。同样,对象直接量中属性的名称可以是字符串而不是标识符。(在在那行只能使用保留字或一些非法标识符作为属性名的时候非常有用)

var side = 1;
var square = {"left":{x:p.x,y:p.y},
'right':{x:p.x+side,y:p.y+side}}

以上是什么是javascript对象和数组的初始化表达式?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn