0
我試圖從鍵/值列表創建對象。我的問題是,對象屬性必須是有效的JavaScript標識符。至少在Adobe ExtendScript中,我可以完美地創建一個具有錯誤屬性的對象(請參閱示例:wrong-key - >「 - 」 - 文字無效)。如何將字符串轉義/編碼爲JavaScript標識符
var kvp = ["key;value", "wrong-key;value"];
var obj = {};
for (var i = 0 ; i < kvp.length; i++) {
pair = kvp[i].split(";");
obj[pair[0]] = pair[1];
}
alert (obj.key);
alert (obj.wrong-key); // -> Throws an Error
當然,我會跑replace(/-/,"_")
,但沒有任何編碼/避開功能在那裏更廣泛地實現這一目標?
感謝, 格雷戈爾
好吧特殊字符訪問這些屬性。但只是爲了記錄,是「錯誤的關鍵」,一個有效的js標識符? – grefel
@grefel:不,它不是。 –
你的意思是「有效」的js標識符?當然,你可以完全擁有一個屬性名稱,就像你有「錯誤鍵」一樣,儘管如果可能的話,由於你遇到的問題,我會避免這樣做。 – Juri