2016-06-21 84 views
0

因此,基本上,請求一個屬性名稱的提示,以便您可以設置其值。如下所示:(我還知道正則表達式是做到這一點的最好辦法然而這僅僅指剛測試現在)從字符串獲取變量的名稱

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; 
    } 
} 

這是我迄今爲止,但它不工作。感謝提前幫助。

+0

'property.valueOf()= value;'這是行不通的。你爲什麼使用'valueOf'?你有沒有檢查你的控制檯的錯誤? –

+0

您可以使用一個對象和'[]'運算符。這將允許您使用「property」變量來選擇對象屬性名稱。 – Pointy

回答

2

已回答!

只使用窗口[屬性]

取字符串變量屬性的內部,並且它變成該變量。

3

如何存儲您的屬性?

如果將它們存儲在Object中,可以使用.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") 
    } 
}