此问题已经在这里有了答案:
假设我们需要向现有的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中的模型似乎为空。而点符号似乎可以解决问题,我想知道为什么。.
[通常,当您需要动态定义属性(例如,使用变量时,或者键的格式不是点符号的正确格式时,请使用括号符号:
const obj = {}
const someKey = 'key'
obj[someKey] = 'somevalue'
console.log(obj.key) // 'somevalue'
console.log(obj.someKey) // undefined