2016-06-21 13 views
0

基本的に、プロパティ名を尋ねるプロンプトが表示されるので、その値を設定することができます。ここに示されているように:(また、私は正規表現は、このしかし、これは今のjsutテストで操作を行うための最善の方法を知っている)文字列から変数の名前を取得する

if (command == "/set") { 
    var property = prompt("Property:"); 
    var value = prompt("Set to:"); 
    if (typeof property.valueOf() === 'undefined') { 
    var dontExist = alert("Property Doesnt Exists"); 
    } else { 
    property.valueOf() = value; 
    } 
} 

これは私がこれまで持っているものであるが、それは仕事をdoesntの。事前に助けてくれてありがとう。

+0

'property.valueOf()= value;'これはうまくいかないでしょう。なぜあなたは 'valueOf'を使っていますか?コンソールのエラーをチェックしましたか? –

+0

オブジェクトと '[]'演算子を使うことができます。これにより、 "property"変数を使用してオブジェクトプロパティ名を選択することができます。 – Pointy

答えて

2

だけで[プロパティ]

は、変数プロパティの内部で文字列を受け取り、変数に変換しますウィンドウを使用します。

3

プロパティはどのように保存されていますか?

オブジェクトに格納する場合、そのオブジェクトが.hasOwnProperty()で存在するかどうかを確認し、その文字列を直接使用してプロパティを割り当てることができます。

var properties = {}; 
if(command == "/set"){ 
    var property = prompt("Property:"); 
    var value = prompt("Set to:"); 
    if (properties.hasOwnProperty(property) { 
     properties[property] = value; 
    } else { 
     alert("Property Doesnt Exists") 
    } 
} 
関連する問題