JavaScript 面向物件之一 —— 物件(物件與JSON的區別)
阿新 • • 發佈:2018-11-09
本系列文章根據《愛前端邵山歡老師深入淺出的js面向物件》視訊整理歸納
物件與JSON的區別
JSON 就是 JavaScript object notation ,JavaScript 物件表示法。是 JavaScript 物件的嚴格子集。
JSON 要求所有的鍵必須加雙引號,而 JavaScript 物件不要求雙引號。
標準JSON格式:
var obj = {
"name" : "張鑫",
"age" : 25,
"sex" : "男"
}
JavaScript物件:
var obj = {
name : "張鑫" ,
age : 25,
sex : "男"
}
JSON 規定必須加引號的原因
因為 JSON 是一個數據交換格式,作為 HTML 與 PHP、JAVA等後臺語言的資訊交換媒介。後臺工程師從資料庫中得到資料,組建 JSON ,前臺通過 Ajax 獲取 JSON 並解析,組建頁面。(所以是其它後臺語言在組建 JSON 時要求加引號,否則報錯,並非JavaScript要求的。)JSON天生為通訊而生。
但是 JavaScript 中有一種鍵必須加引號,就是不符合識別符號命名規範的鍵,必須加引號,否則報錯。如
var obj = {
"-" : 12,
"@@@" : 135,
"2017" : 568
}
訪問屬性時,必須加引號,用方括號表示法:
obj["2017"]
如果我們用變數儲存一個 key,此時 必須用方括號訪問,並且 方括號中不能有引號。如:
var obj = {
"2017" : 1,
"key" : 2
}
var key = 2015 + 1 + 1;
console.log(obj[key]); // 1
console.log(obj["key"]); // 2
console.log(obj.key); // 2
點語法只能以字串形式訪問物件中的鍵,無法使用變數訪問