我們在JavaScript中創建對象...我們什麼時候在javascript中使用點符號?
var myObj = {
name1: 'abc',
place1: 'xyz',
name2: 'mno',
place2: 'uvw',
};
現在當我們試圖訪問PLACE1,我們應該怎麼辦呢?
myObj.place1 or myObj[place1]
我們在JavaScript中創建對象...我們什麼時候在javascript中使用點符號?
var myObj = {
name1: 'abc',
place1: 'xyz',
name2: 'mno',
place2: 'uvw',
};
現在當我們試圖訪問PLACE1,我們應該怎麼辦呢?
myObj.place1 or myObj[place1]
有情況下,您不能使用「對象點屬性」: 例如:
var obj={
"hello world": 1,
"hello-world":2
}
obj.hello world //syntax error
obj.hello-world //this is understood as (obj.hello) - world, a subtraction
因此,要獲得這些屬性的唯一方法是使用
obj["hello world"]
obj["hello-world"]
通常使用點更安全,因爲任何IDE都可以檢查屬性是否已經創建,並且可以推斷出該類型是否正確,所以我的建議是使用object-dot-notation un少你不能。
另一種情況,你不能使用它是當你不知道屬性的名稱,例如:如果你正在使用的對象作爲地圖:
var map={};
function addUser(username,userId) {
map[userId]=username;
}
function getUserName(userId) {
return map[userId]
}
再回到您的示例:
var myObj = {
name1: 'abc',
place1: 'xyz',
name2: 'mno',
place2: 'uvw',
};
推薦的方法來獲取值是:
myObj.place2
但是你可以使用
myObj["place2"]
請使用我的代碼給我寫語法,如何訪問place2? –
myObj.place1
會直接工作, myObj["place1"]
也將直接工作。
,但如果你想使用myObj[place1]
...這裏place1
被視爲從變量的值,使這項工作使用..
var myObj = {
name1: 'abc',
place1: 'xyz',
name2: 'mno',
place2: 'uvw',
};
var Place1 = "place1";
myObj[Place1]
我們使用「」點符號,當我們想通過屬性來訪問JS對象的值
只要遵循以下規則您可以使用點表示法:
屬性必須是一個有效的JavaScript標識符,即字母數字字符的序列,還包括不能以數字開頭的下劃線(「_」)和美元符號(「$」)。例如,對象。$ 1是有效的,而object.1不是。
您也可以使用一個數字作爲密鑰。但是請確保您在對象[1]中使用括號表示法而不是object.1(這會引發錯誤)。
http://javascriptissexy.com/javascript-objects-in-detail/
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Property_accessors
'MyObj中[PLACE1]'不會工作,除非有一個名爲初始化的變量'place1' – gurvinder372
第二個應該是MyObj中[ 「PLACE1」。這是你想如何使用它的符號。 – nikhil