假设我们需要向现有的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将js对象提交给MVC Controller时,其中使用[]
表示法添加了属性,Controller中的模型似乎为null。然而,点符号似乎解决了这个问题,我想知道为什么。。
通常,当您需要动态定义属性时(如使用变量(,或者如果键的格式不适合点表示法,则使用括号表示法:
const obj = {}
const someKey = 'key'
obj[someKey] = 'somevalue'
console.log(obj.key) // 'somevalue'
console.log(obj.someKey) // undefined
点记法是当你已经知道关键:
const obj = {}
object.key = 'someValue'