1.对象
对象中包含属性和方法
{} 对象是无序的,以键值对(key:value)的形式展示数据,对象里的每个属性用“,”隔开
var obj = {
name: "lll",
age: 100,
bf: ["111", "222"],
isCool: true,
wifi: {
logo: "tpLink",
price: 200,
},
play: function() {
console.log("123");
}
}
1.1 对象调用方法:obj.play();
链式调用:obj.wifi.logo
为对象添加属性:obj.sex="男",
添加方法:obj.sayHi=function(){ console.log("Hi"); }
1.2获取对象的属性值
a.对象名.属性名 var name=obj.name;
b.对象名[key] 好处:key是可以变化的
var key="name";
var name=obj[key];
1.3获取所有的key和属性值 Object.keys();
var keys = Object.keys(obj);//静态方法 以后看到大驼峰开头的调用的方法
console.log(typeof(keys)); //object
for (var i = 0; i < keys.length; i++) {
console.log(keys[i]); //得到的为属性名
var k = keys[i];
console.log(obj[k]); //得到属性值
}
1.4获取对象中的所有值 Object.values();
var value = Object.values(obj);
for (var i = 0; i < value.length; i++) {
console.log(value[i]);
}
2.for in——遍历对象
forof 用来遍历array string set map 不要遍历对象会报错
forin的变量为对象的 属性key 属性的取值obj[key]
for (const key in obj) {
console.log(key);//name age bf isCool wifi play
console.log(obj[key]);//得到属性值
}
3.对象的简单的链式调用
var goods = [
{
name: "巧克力",
production: "俄罗斯",
price: 100,
madeIn: {
water: 1,
sugar: ["麦芽糖", "葡萄糖", "蔗糖"]
}
},
{
name: "白巧克力",
production: "白俄罗斯",
price: 200,
madeIn: {
water: 2,
sugar: ["麦芽糖", "葡萄糖", "蔗糖"]
}
}
]
// 要获取第一个商品的蔗糖
//对象
let goodObj = goods[0];
//对象
let chengfenObj = goodObj.madeIn;
// 数组
let tangs = chengfenObj.sugar;
// 取值
let tang = tangs[2];
console.log("tang : === ", tang);
// 简单的链式调用的方式
let tang2 = goods[0].madeIn.sugar[2];
console.log("tang 2: === ", tang2);
4.JSON
javascript object notation js对象简谱
轻量级的数据格式 一般服务端返回顶数据格式就是json (常用的)
xml 可扩展标记语言 也是服务端返回的数据格式
JSON的 key 必须为 字符串 不包含方法
JSON对象如下
let jsonObj = {
"name": "三",
"age": 20,
"gfs": [{
"name": "lili",
"age": 18,
"height": 170
}]
}
5.把js对象转换为JSON对象
stringify——字符串化
let jsonstr = JSON.stringify(jsobj);
6.把JSON对象转化为js对象(可以更容易调用对象的属性获取属性值)
parse——解析
let jsobj = JSON.parse(jsonobj);