[英]Is it okay to use “create” as a property name in a JavaScript object literal?
[英]Use variable for property name in JavaScript literal?
我知道我們可以在運行時在Javascript對象中創建新屬性,但是該屬性是否也可以賦值? 例如。
var value = "New value";
var table = new Object();
var newValue = table[value];
現在,我知道值表有一個名為“value”的新屬性。 但是這個“值鍵”包含的信息是“新值”。那么,這是否意味着現在表對象如下:
table = {
value:"New Value";
}
你在分配訪問時會感到困惑。
// Assigns a variable named 'value' with a value of 'New Value'.
var value = "New value";
// Creates a variable named 'table' as a blank Object.
var table = new Object(); // Alternatively - table = {};
// Attempts to access "New Value" from object "table" which returns undefined.
var newValue = table[value];
如果要為對象分配屬性,請執行以下操作:
// Assumes table is still an object.
table['key'] = 'value';
// Note that I almost _always_ opt for the variable['key'] notation over
// the variable.key notation because it allows you to use keys
// that would otherwise not be valid as identifiers.
table['Some Key'] = 'Some Value'; // This works.
table.Some Key = 'Some Value'; // This does not.
稍后,當您想要檢索該值並將其存儲在新變量中時,就是這樣:
var newVariable = table['key'];
希望澄清一些。 如果我能擴展它的任何部分,請告訴我。
沒有。 你的陳述
var newValue = table[value];
沒有設置任何東西,因為在你創建table
你沒有分配任何屬性, newValue
將是undefined
。
如果你有一個value
分配一個值變量,並且希望下鍵分配一個值表value
,你想干什么
table['value'] = value;
或者
table.value = value
呃,不,我不認為你說得對。
所有這一切都是將undefined
分配給newValue
,因為您正在嘗試訪問table
的“ New Value
”屬性,該屬性不存在。
我認為你要做的是:
var value = "New value";
var table = {};
table.value = value;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.