JavaScript 面向对象之一 —— 对象(对象与JSON的区别)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zx562602419/article/details/71599422

本系列文章根据《爱前端邵山欢老师深入浅出的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

点语法只能以字符串形式访问对象中的键,无法使用变量访问

猜你喜欢

转载自blog.csdn.net/zx562602419/article/details/71599422