美文网首页React Native开发深究JavaScript
js访问对象属性的2个方法

js访问对象属性的2个方法

作者: 8ba7c349861d | 来源:发表于2018-08-29 15:04 被阅读6次

笔者在学习的过程中,了解到访问对象的属性,其实有两种方式:
比如:一个对象 Obj = {"name": "whoami", "AGE": "20"}
1.用点访问,Obj.Name ;
2.用中括号访问,Obj["Name"];
上述两种方式得到的结果都是属性Name的值whoami;
两者的区别:
1.语法方面的区别

点表示法的对象的属性名是标识符,而后者的属性名则是一个字符串。

2.灵活性方面的区别

在JavaScript编写程序中,可以为对象创建任意数目的属性。但使用”.“运算符来存取一个对象的属性时,属性名是用标识符表示的。而在JavaScript程序中,标识符必须被逐字地输入,它们不是一种数据类型,因此程序不能对其操作。也就是说,标识符是静态的,在程序中必须对其进行硬编码。

而使用数组[]表示法来存取一个对象的属性时,属性名是用字符串表示的。字符串是JavaScript的一种数据类型,因此可以在程序运行中操作并创建它们。

3.性能方面区别

数组[]表示法在存取属性值时会进行表达式运行。而点表示法是直接存取属性值,理论上执行效率会比数组表示法高。性能方面其实可以忽略。

某些场景必须用到数组表示法来动态存取属性值,这个是点表示法无法做到的。

总的来说,这两种方法区别上不大,都有对应的使用场景。点表示法一般作为静态对象使用时来存取属性。而数组表示法在动态存取属性时就非常有用。

  1. 在引用已有的对象属性时,并有属性名的情况下,用点和中括号是一样的;若属性是数组或者是对象,没有属性名,则要用类似数组元素引用的方式,用中括号+下标。例子参考;
  2. 在创建函数属性的时候,若属性名是已知的。用点和中括的的方式一样。若属性名是一组变量,则只能用中括号表示。中括号的灵活应用可以让代码变的很强大。

参考:https://www.cnblogs.com/polk6/p/4562281.html

相关文章

  • 2019-11-27

    1.js 对象属性 2.js 对象方法 3.对象访问器 4.对象构造器 5.对象构造器加属性 6.对象方法 7.j...

  • 2019-08-26

    js对象。可以认为是变量的容器,类似键值对的形式。访问对象属性的时候,也是通过 对象.属性 的形式。对象的方法(...

  • js中数组对象去重的方法

    采用数组中的reduce方法,遍历数组,也是通过对象访问属性的方法 参考js中数组对象去重的方法

  • JavaScript对象的属性访问与复制

    很多时候我们需要复制目标对象而非借助原型链访问,比如对象拷贝、各类继承方法,这里总结下Js的属性访问方法以及注意事...

  • 面向对象01-对象的动态特性

    对象的动态特性 在js中可以动态的对对象属性进行增加、修改和删除 访问对象的方法 01 可以使用点语法访问 02 ...

  • 知识点

    js访问对象属性两种方式在javascript中我们通常使用.来访问对象的属性,那么也可以使用[ ]来访问对象属性...

  • 2018-01-17

    访问、添加对象的属性和方法的两种方式 一.访问对象的属性 1.1 点语法 格式: 访问对象属性: 对象名.属性名 ...

  • 反射 -3 创建对象,访问属性和方法

    1 创建对象 2 访问属性 3 访问方法

  • JavaScript浅析 -- 对象的继承

    一、继承 继承,是指一个对象(子对象)通过某种方法,使得自己可以访问另一个对象(父对象)的属性和方法。而js没有提...

  • javascript对象的属性介绍

    本篇主要介绍JS中对象的属性,包括:属性的分类、访问方式、检测属性、遍历属性以及属性特性等内容。 属性:对象的成员...

网友评论

    本文标题:js访问对象属性的2个方法

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