js操作对象中点操作和中括号操作的区别

JavaScript017

js操作对象中点操作和中括号操作的区别,第1张

如:

<script type="text/javascript">

  var author = book.author //得到book的"author"属性

  var name = author.subname //得到author的"surname"属性

  var title = book["main title"] //得到book的"main title"属性</script>

区别: 

1.中括号运算符总是能代替点运算符。但点运算符却不一定能全部代替中括号运算符。

2.中括号运算符可以用字符串变量的内容作为属性名。点运算符不能。 

(即:点号后加标识符(静态的); 

中括号可放字符串,字符串可以是动态的,obj[‘string’+variable])

3.中括号运算符可以用纯数字为属性名。点运算符不能。

4.中括号运算符可以用js的关键字和保留字作为属性名。点运算符不能。

js数据类型中,字符串不需要加括号,数值不需要加括号。

1.运算符优先级不满足要求的情况 比如(2 + 3) * 5,如果不加括号 值会变成 2 + 3 * 5,

2.函数参数 function a (arg1, arg2)

3.循环与判断调剂 if() while() for()

一、功能不同

1、用点:表示定义一个对象,大部分情况下要有成对的属性和值,或是函数。

2、用中括号:表示一个数组,也可以理解为一个数组对象。

二、语法不同

1、用点: var LangShen = {"Name":"Langshen","AGE":"28"}。langShen.Name。在JSON数据结构、写函数组的时候中经常用。

2、用中括号:var LangShen = [ "Name","LangShen","AGE","28" ];每个值或函数,都是独立的,多个值之间只用,(逗号)隔开,因为是数组对象。

三、访问方式不同

1、用点:对象,访问时,用.(点)来层层访问。

2、用中括号:访问时,也是和数组一样,alert( LangShen[0] )

参考资料来源:百度百科-javascript