js操作对象属性用点和用中括号有什么不同?

比如:
var a = {};
有时候要用:
a.b = 1;
c = a.b;
alert(c);
可是有时候却要用:
a[b] = 1;
c = a[b];
alert(c);
这两种写法有什么区别吗
那为什么有时候只有前者能用或是后者能用?

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

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

第2个回答  2014-09-23
a.b中a是json对象,b是a中的属性名。a[b]中a是数组对象,b是a的数组索引,即a中第b个元素追问

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

js操作对象属性用点和用中括号有什么不同?
一、功能不同 1、用点:表示定义一个对象,大部分情况下要有成对的属性和值,或是函数。2、用中括号:表示一个数组,也可以理解为一个数组对象。二、语法不同 1、用点: var LangShen = {"Name":"Langshen","AGE":"28"}。langShen.Name。在JSON数据结构、写函数组的时候中经常用。2、用...

js判断题obj.name和obj["name']访问到的是不是同 个属性?
若name代表具体的属性,则两者访问到的是同一个属性,但是若name为变量,则不同属性。JavaScript中点“.”与中括号“[]”的主要区别。(1).与[]均可以用于获取对象属性,但是写法存差异。.后面直接跟属性,[]中的属性需要以字符串的形式传入。设置obj的宽度为300px。.的书写方式:obj.style.width='3...

JS对象object
使用中括号语法和点语法访问属性。点语法可能误导你认为属性名不是字符串,建议优先使用中括号语法。通过直接赋值、Object.assign或修改原型来写属性。修改隐藏属性推荐使用Object.create而非__proto__。删除属性用delete关键字,如delete obj['name']。查看属性可用Object.keys或console.dir,或通过中括号语...

菜鸟求助js控制台打印出来的对象的属性有两个中括号包含
当使用JavaScript控制台打印对象时,有时会看到对象的属性中包含两个中括号,这并非对象内部真正的属性,而是Chrome开发者工具为了方便开发者调试所显示的标识。例如在函数对象展开时,可能会看到一个名为[[scope]]的属性,这个标识是为了帮助开发者查看当前函数的作用域链,提供更直观的调试信息。这种中括号...

在js中用中括号访问对象的时候属性为什么要加上双引号?
不加双引号的话,js会认为这是变量名,而这个变量是不存在的,所以报“not defined”(未定义)的错误。而这其实就是用中括号来访问对象属性的意义所在:可以用变量来代替属性名,比如:var n = "name1";console.log(obj[n]); \/\/obj[n]就相当于obj["name1"]或obj.name1 而用点语法的话...

JS 对象基本用法
要读取或修改对象的属性,可以使用点符号`.`或方括号`[]`,例如`myObj.property`或`myObj['property']`。如果属性不存在,`[]`方式更为灵活,可以接受字符串或表达式作为键。新增属性时,直接赋值即可。共有的属性是对象和其原型共享的,而修改原型属性(如`Object.prototype`)需要特别注意,通常...

js中的json对象的属性怎么取值
需要准备的材料分别有:电脑、html编辑器、浏览器。1、首先,打开html编辑器,新建html文件,例如:index.html。2、在index.html中的标签,输入js代码:var json = {'name': 'Alice', 'age': 16};document.body.innerText = json.name;。3、浏览器运行index.html页面,此时json的对象的name属性被...

请问js对象属性值为什么用数组也可以访问
两个都是获取对象值的方式。第二个用变量名获取对象值的时候很有用。var obj = { name:'lily', year:'20'}alert(obj.year);var y = 'year';\/\/ 用变量获取alert(obj[y]);

js中向对象中添加属性的两种方法?
视频讲解的是javascript面向对象编程语言中的关于创建对象的知识,重点讲解的是如何创建对象及添加属性,由于属于动态语言,所以我们可以随时的为对象添加属性。

js中向对象中添加属性的两种方法?
1.3 内部属性一些属性只是用于规范,这些属于“内部”的属性,因为它们不能直接访问,但是它们确实影响对象的行为。内部属性有特殊的名称都写在两个方括号,如:内部属性[[Prototype]]指向对象的原型。它可以通过Object.getPrototypeOf()读取。它的值只能通过创建具有给定原型的新对象来设置,例如通过object....

相似回答