对象的创建和JSON
Object类型
字面量创建对象
<script> var obj = { name: "小明", age: 18, sex: "男", }; console.log(obj); console.log(obj.name); console.log(typeof obj); </script>
{}就是对象的界定符,其实就是对象的字面量。
对象有属性,所谓的属性就是这个对象的特点,特性。name,age,sex其实都是这个对象的属性(preperty)
从根本来讲,对象就是属性的无序集合。也就是和数组的根本区别
我们可以用点语法,或者方括号获得某一个属性值,和数组有点像,但是数组只能通过下标去获取。而且数组还是一个有序的集合
对象格式:
{
k:v,
k:v,
k:v,
k:v
}
我们看另外一直格式:JSON
JOSN和字面量对象的区别:
- JSON要求所有的k必须要加引号,而字面量的对象不需要加引号,加引号也没有错。
- JSON就是JavaScript Object Notation(JS对象表示法)。
- JSON是一个用于交换数据的格式。所以JSON不仅仅用于JavaScript,后台语言比如PHP、Java、ASP等等都会识别JSON,所以JSON格式不仅仅是用于自己,也要兼容其他的语言。所以格式要更加的严谨
JSON格式:
{ "k":v, "k":v, "k":v, "k":v }
无论是JSON还是普通对象,下列的情况k必须要加引号,使用方括号进行获取
比如下面的
<script> var obj = { '******': "hello", }; console.log(obj["******"]); </script>
下面的一些情况需要加引号
- k是特殊字符
- k是数字
- k有空格
- k是关键字或者保留字
<script> var obj = { "****": "属性1", 12345: "属性2", "get": "属性3", function: "属性4", }; console.log(obj["****"]); console.log(obj["12345"]); console.log(obj["get"]); console.log(obj["function"]); </script>
对象打点分两种,一种是获取属性,另一种是获取方法,如果当前的对象值是一个函数,此时该值就是对象的一个方法
<script> var obj = { name: "小明", fun: function () { console.log("小明在吃饭"); }, }; //调用方法 obj.fun() </script>