美文网首页
JavaScript再学习之对象属性调用

JavaScript再学习之对象属性调用

作者: 咧咧0622 | 来源:发表于2020-11-29 09:48 被阅读0次

对于一个JavaScript对象:

var obj = {
    name: "Jack",
    age: 12,
    sayHello: function(){
        console.log("Hello!")
    }
}

调用其属性有两种方法

. 调用

.属性名的方式编码简单直观,易于使用

console.log(obj.name)
console.log(obj.age)
console.log(obj.sayHello)   //注意这里我没有加(),因此不算调用方法,只是输出函数
在这里插入图片描述

[]调用

. 能完成的调用,[] 同样能完成

console.log(obj['name'])
console.log(obj['age'])
obj['sayHello']()   //注意这里我加了(),因此这里是在调用方法
在这里插入图片描述

只能用 [] 而不能用 .

在JavaScript中,有些情况我们调用对象中属性只能用 [] 的方式:

属性名包含特殊字符(- 空格)

当我们的属性名中出现了特殊字符,比如我们想要调用当前对象里的一个Content-Type属性,这时我们用 . 调用就会出现语法报错。
换成 [] 方式就可以了。

属性名是变量的形式

假如我们的属性名现在是以一个变量的形式存在的,那么我们使用两种方式分别设置一下属性,最后输出看看有何不同。

var obj = {}

var propName = "name"
obj.propName = "小李"
obj[propName] = "小张"

console.log(obj)
在这里插入图片描述

大家可以看到出现了两个属性,name和propName。如图 . 方式却把 propName 当做了一个属性名进行了处理,这显然不是我们想要的,我们想要的是第一个name属性。
因此如果我们想要以参数的形式访问属性,那就只能使用 [] 方式。

总结

如果 . 方式不影响功能,使用 . 方式当然是我们想看到的,只不过除了两个情况之外:

  1. 属性名中有特殊字符
  2. 属性名是变量的形式

相关文章

  • JavaScript再学习之对象属性调用

    对于一个JavaScript对象: 调用其属性有两种方法 . 调用 .属性名的方式编码简单直观,易于使用 []调用...

  • # JSON 对象、JSON 字符串 转换

    1. JSON 对象 json 对象,可以通过 javascript 存取属性,如“对象.属性”调用。 2. JS...

  • JS原型链

    javaScript原型链 JavaScript所有对象都有原型,当对象有属性或方法调用的时候,对象就会从自身查找...

  • js的prototype

    javascript中的每个对象都有prototype属性,Javascript中对象的prototype属性的解...

  • JavaScript - prototype理解

    Javascript中的每个对象都有prototype属性,Javascript中对象的prototype属性的解...

  • JavaScript ☞ day2

    JavaScript基础学习笔记之JavaScript提升 了解时间 Date Date对象的方法 Date对象间...

  • Python 学习笔记 042

    本节内容 对象属性和类属性 类属性 用类名来调用的属性 创建对象时会制作类属性的副本,将其做为对象属性保存调用 类...

  • JavaScript学习笔记7_对象_2对象属性

    属性检测 JavaScript对象是属性的集合,我们经常需要判断某个属性是否存在于某个对象中。JavaScript...

  • JavaScript对象属性

    JavaScript对象属性 简单理解对象 运行环境 node V10.16.3 对象属性 数据属性数据属性包含...

  • 学习笔记-ECMAScript新特性

    Optional Chaining 可选链式调用当我们访问一个不属于对象的属性时, JavaScript会抛出错误...

网友评论

      本文标题:JavaScript再学习之对象属性调用

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