2016-09-12 9 views
0

setDataのパラメータとしてオブジェクトプロパティfullNameを渡すことができません。JSが関数のパラメータとしてオブジェクトプロパティを渡します

機能setDataは、モーダルウィンドウで値を入力した後に呼び出す必要があります。

を使用してvalueuser.fullNameに設定します。オブジェクト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"); 
}; 

例私はこれを行う方法がわからないので、オブジェクトのプロパティを渡す方法を、私を助けて。オブジェクトのプロパティを割り当てる2つの方法があり

答えて

2

ドット表記法ではなく、実行時に定義されたプロパティ名を使用する括弧表記を使用します。

「静的」な方法(プロパティ名を知っている):user.fullName = "Bob";

「ダイナミック」な方法(プロパティ名は、実行時の式で与えられる):user['fullName'] = "Bob";

関連する問題