我无法将对象属性fullName
作为函数setData
的参数传递。
在模态窗口中输入一些值后,应调用函数setData
。
我想使用函数value
将user.fullName
设置为setData
。
对象user = { fullName: "Full Name", position: "Manager" }
function setData ( data ) {
var user,
value = prompt("Value", "");
if ( localStorage.getItem("user") ) {
user = JSON.parse( localStorage.getItem("user") );
}
user.data = value; // user.fullName = value; - as an example
if ( value ) {
localStorage.setItem("user", JSON.stringify( user ) );
location.reload();
}
}
document.getElementById("full-name-button").onclick = function() {
setData( "fullName" );
};
document.getElementById("position").onclick = function() {
setData( "position" );
};
帮助我,如何传递对象属性,因为我不知道如何做到这一点。
答案 0 :(得分:2)
要使用运行时定义的属性名称,请使用括号表示法,而不是点符号:
user[data] = value;
答案 1 :(得分:1)
分配对象属性有两种方法。
"静态"方式(你知道属性名称):user.fullName = "Bob";
"动态" way(属性名称由运行时表达式给出):user['fullName'] = "Bob";