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

JavaScript018

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的关键字和保留字作为属性名。点运算符不能。

一、功能不同

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

自从有了Ajax这个概念,JavaScript作为Ajax的利器,其作用一路飙升。JavaScript最基本的使用,以及语法、浏览器对象等等东东在这里就不累赘了。把主要篇幅放在如何实现JavaScript的面向对象编程方面。1. 用JavaScript实现类 JavaScritpt没有专门的机制实现类,这里是借助它的函数允许嵌套的机制来实现类的。一个函数可以包含变量,又可以包含其它函数,这样,变量可以作为属性,内部的函数就可以作为成员方法了。因此外层函数本身就可以作为一个类了。如下:function myClass()这里 myClass就是一个类。其实可以把它看成类的构造函数。至于非构造函数的部分,以后会详细描述。2. 如何获得一个类的实例 实现了类就应该可以获得类的实例,JavaScript提供了一个方法可以获得对象实例。即 new操作符。其实JavaScript中,类和函数是同一个概念,当用new操作一个函数时就返回一个对象。如下:var obj1 = new myClass() 3. 对象的成员的引用 在JavaScript中引用一个类的属性或方法的方法有以下三种。 1> 点号操作符这是一种最普遍的引用方式,就不累赘。即如下形式:对象名.属性名对象名.方法名 2> 方括号引用 JavaScript中允许用方括号引用对象的成员。如下:对象名["属性名"]对象名["方法名"] 这里方括号内是代表属性或方法名的字符串,不一定是字符串常量。也可以使用变量。这样就可以使用变量传递属性或方法名。为编程带来了方便。在某些情况下,代码中不能确定要调用那个属性或方法时,就可以采用这种方式。否则,如果使用点号操作符,还需要使用条件判断来调用属性或方法。 另外,使用方括号引用的属性和方法名还可以以数字开头,或者出现空格,而使用点号引用的属性和方法名则遵循标示符的规则。但一般不提倡使用非标示符的命名方法。 3> 使用eval函数 如果不希望使用变量传递变量或方法名,又不想使用条件判断,那么eval函数是一个好的选择。eval接收一个字符串类型的参数,然后将这个字符串作为代码在上下文中执行,返回执行的结果。这里正是利用了eval的这一功能。如下:alert(eval("对象名." + element.value)) 4. 对对象属性,方法的添加、修改和删除操作 JavaScript中,在生成对象之后还可以为对象动态添加、修改和删除属性和方法,这与其它面向对象的语言是不同的。 &nbsp

如果帮助到您,请记得采纳为满意答案哈,谢谢!祝您生活愉快! vae.la