美文网首页
JS中括号点语法的运用

JS中括号点语法的运用

作者: 曾基锟 | 来源:发表于2017-03-19 20:52 被阅读0次

不考虑[]用作数组或集合下标使用的情况,单针对某个对象,这两种写法本质是一样的。

但是第2种写法可以使用变量作为属性名,在实际使用过程中非常灵活,比如可以写出很通用的代码,而不用考虑具体对象的结构。

那为什么有时候,用点才能取到值,有时候却要用中括号呢?

不考虑[]用作数组或集合下标使用的情况,单针对某个对象,这两种写法本质是一样的。

你能举个例子, 只能用点或只能用中括号取属性值吗?

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

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

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

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

var test ={name:1}

用点的时候,后面需要是一个指定的属性名称,譬如说  test.name,不需要用引号括起来,因为默认name就是test里面的属性,但是如果写  var  obj = name  。test.obj就是不正确的,因为obj这个时候是被当成一个固定的字符串,不是变量。

用中括号的时候  ,括号里面可以是变量或者字符串,譬如说,var  obj = "name",test[obj]会自动识别成obj["name"],因为中括号会计算一次生成字符串访问。当然可以直接写obj["name"],

其实 test.name 最终也会按照 test["name"]去执行的

所以用点的时候后面一定要是一个指定的  属性名,用[]时候后面一定是一个变量或者固定属性名的字符串。!

木有区别。都是取值(设置值)。可以说是一个习惯用法。如果用[]的话,就有点小小区别了。如果[]用于集合或数组,则是获取[i]里面的第i个值。所以。[]在对象或数组(集合)中这样用。对应于对象,建议用"."获取或设置。如果对象用[],则是获取或设置["age"]里面属性叫age所对应的属性值

a.b中a是json对象,b是a中的属性名。a[b]中a是数组对象,b是a的数组索引,即a中第b个元素

相关文章

  • JS中括号点语法的运用

    不考虑[]用作数组或集合下标使用的情况,单针对某个对象,这两种写法本质是一样的。 但是第2种写法可以使用变量作为属...

  • iOS 之Masonry点语法简单实现 OC链式(点)语法

    常见的OC中括号链式语法 Masonry 上图: 点语法:在 Objective-C 中,对于点语法的使用,最常见...

  • 2021-03-10

    js 判断以下输出的值 第一个题答案为'c'。首先,如果对对象使用中括号语法,那么中括号里面的值为变量(当然,a[...

  • Vue1.模板语法

    html 中包含了一些 JS 语法代码,语法分为两种,分别为: 插值语法(双大括号表达式) 指令(以 v-开头) ...

  • js中如何访问对象和数组

    目录 一、总结 一句话总结:js访问对象点和中括号,访问数组的话就是中括号 1、js访问对象的两种方式? 2、js...

  • Javascript 对象键值赋值的四种方法

    1、“点”语法 2、中括号语法 3、Object.defineProperty 这个方法可以用于实现继承 4、Ob...

  • Vue.js基础拾遗

    模版语法 插值 1、Vue.js的数据绑定形式是使用“Mustache”语法(双大括号)的形式,针对Html代码,...

  • OC链式语法的实现

    网友们对链式语法的评价:1. OC的中括号链式语法比较简单,就是中括号返回下一个中括号调用的对象即可。如[[[[s...

  • Vue快速入门(二:数据绑定)《快乐Vue》

    数据绑定 数据绑定语法 主要介绍 Vue.js 的数据绑定语法.使用的是双大括号标签 {{}},为“Mustach...

  • 仅此一篇

    jsx语法 1.直接写html元素标签,无需加引号3.其中有js内容只需要加上花括号即可4.注释用花括号包裹住js...

网友评论

      本文标题:JS中括号点语法的运用

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