美文网首页
访问对象属性的点表示法和方括号表示法的区别

访问对象属性的点表示法和方括号表示法的区别

作者: jasonhsu9 | 来源:发表于2018-03-31 18:58 被阅读0次

在上文数组对象的比较函数一文中我们使用了如下函数,其中就使用到对象属性的方括号表示法,注意,这里如果换成点表示法,将得不到想要的结果,从而无法实现正确排序。

function compareFunction(propertyName) {

  return function(object1, object2) {
   var value1 = object1[propertyName];
   var value2 = object2[propertyName];
  //需要注意的是 上面两行代码 必须用方括号访问对象,只能方括号表示法才能访问变量。
  if(value1 < value2) { return -1; }
  else if(value1 > value2) { return 1; }
  else { return 0 }

  }
}

首先我们在Chrome Developer tools中创建如下对象

let person = {
    name:'Greg'
}

JavaScript中一共有两种方法访问对象属性

  • 点表示法
  • 方括号表示法
person["name"];    //在使用方括号语法时,应该把属性名以字符串的形式放在方括中
person.name;      //Greg

从功能上说,这两种方法没有任何区别。但方括号语法有一个优点:可以通过变量来访问属性,正如正文开头的compareFunction()函数一样

var propertyName = 'name';
person[propertyName];  //Greg

还有!如果属性名中包含 使用点表示法 会导致语法错误的字符,或者属性名是关键字或者保留字,也可以使用方括号表示法。如:

person['first name'] ='Greg';  //first name包含一个空格

但是!!我们建议使用点表示法,除非必须使用变量来访问属性。

[]方括号访问的属性名时,可以在程序运行时创建和修改属性,点操作符就不行!

eg1:

var addr="";
for(i=0;i<4;i++){
    addr += customer["address"+i]+'\n';
}

eg2:

function addStock(portfolio,stockname,shares){
    portfolio[stockname]=shares;
}

本文结束

相关文章

  • 访问对象属性的两种方法

    一般来说,访问对象属性时使用的都是点表示法,不过,JavaScript中也可以用方括号表示法来访问对象的属性。 使...

  • 访问对象属性的点表示法和方括号表示法的区别

    在上文数组对象的比较函数一文中我们使用了如下函数,其中就使用到对象属性的方括号表示法,注意,这里如果换成点表示法,...

  • 第四章 对象

    访问对象属性 中括号表示法hero['occupation'] 点表示法hero.occupation如果有多级,...

  • JS对象的方括号表示法和点表示法

    一、对象属性 三、方括号表示法方括号语法的优点:1)可以通过变量来访问属性;2)如果属性名中包含会导致语法错误的字...

  • 数组知识点

    引用类型 object 一般来说,对象属性访问都是点表示法,方括号语法也有自己的独到之处。例如: 从功能上看,这两...

  • ECMAScript 6——对象

    1.属性的简洁表示法 广泛的应用于写对象时对象的属性书写简化 需要注意的点是: 1.属性名表达式与简洁表示法,不能...

  • JavaScript学习笔记(二)——引用类型问题

    引用类型 object类型 1.创建方式 Object构造函数 对象字面量语法 2.访问属性的方法 点表示法 方括...

  • 访问对象属性的方法

    访问对象属性时使用的都是点表示法,这也是很多面向对象语言中通用的语法。如下: 如果属性名中包含会导致语法错误的字符...

  • 引用类型之Object

    创建 构造函数: 字面量: 就像上边,属性名也可以是字符串 访问属性和方法 点表示法:alert(person.n...

  • 第四章:对象

    4.1 创建一个对象 对象里包含的是一个个属性 属性也可以是函数,成为方法 访问对象属性 中括号表示法,如 her...

网友评论

      本文标题:访问对象属性的点表示法和方括号表示法的区别

      本文链接:https://www.haomeiwen.com/subject/mvcncftx.html