[向现有js对象添加属性的两种方法之间有什么区别? [重复]

问题描述 投票:0回答:1

此问题已经在这里有了答案:

假设我们需要向现有的js对象添加属性

var billingData = {}

就我而言,我想将输入值存储在js对象中这是基本输入内容

<input type="text" class="form-control" id="billingFullName">

基本上,我们有两种将属性添加到js对象的方法:第一个:

billingData["billingFullName"] = document.getElementById('billingFullName').value

还有第二个:

billingData.billingFullName = document.getElementById('billingFullName').value

它们之间有什么区别?我问,因为当我使用AJAX向MVC Controller提交js对象时,其中使用[]表示法添加了属性,因此Controller中的模型似乎为空。而点符号似乎可以解决问题,我想知道为什么。.

javascript javascript-objects
1个回答
0
投票

[通常,当您需要动态定义属性(例如,使用变量时,或者键的格式不是点符号的正确格式时,请使用括号符号:

const obj = {}
const someKey = 'key'
obj[someKey] = 'somevalue'

console.log(obj.key) // 'somevalue' 
console.log(obj.someKey) // undefined 
© www.soinside.com 2019 - 2024. All rights reserved.