对象是一堆属性的集合,其实它和数组是相通的
对象语法
var person={
"age":18,
"weight":"123kg",
"height":"170cm",
"arm":2,
"leg":2
}
语法:
var obj={"property1":"value1","property2":"value2"}
构造对象
<script>
//构造对象
var obj = new Object();
// obj["gender"] = "女";
// obj.age = 18;
// console.log(obj);
// console.log(obj.gender); //访问对象
// console.log(obj[gender]); //访问对象
obj.cook = function () {
console.log("做个西红柿");
}
obj.cook(); //调用函数对象
</script>
字面量语法
<script>
//字面量语法
//var obj = {};
var obj = {
"name": "鞠婧祎",
"gender": "女",
"age": 18,
"dance": function () {
console.log("爵士舞");
}
};
console.log(obj);
console.log(obj.name); //鞠婧祎
console.log(obj["name"]); //鞠婧祎
var obj = {
"name": "鞠婧祎",
"gender": "女",
"age": 18,
"dance": function () {
// console.log("爵士舞");
// console.log(this.name);
return function () {
console.log(this.name); //this==window
}
}
};
var fun = obj.dance();
fun.call(obj)
</script>
对象的访问
<script>
var obj = {
"age": 18,
"weight": " 123kg",
"height": "170cm",
"arm": 2,
"leg": 2
}
for (var i in obj) {
document.write(i + "==>" + obj[i] + "<br>")
}
// function Animal(name,age){
// this.name = name;
// this.age = age;
// this.name = "旺旺"
// this.age = 2;
// }
// var dog = new Animal("狗蛋",1);
// console.log(dog);
</script>
遍历json
<script>
//1.
var arr =[{ "firstName" : "John", "lastName": "Doe" },
{ "firstName": "Anna" ,"lastName" :"Smith" },
{ "firstName": "Peter" ,"lastName" :"Jones" }];
for(var i = 0; i < arr.length; i++){
var obj = arr[i];
for(var j in obj){
document . write(obj[j] + " ");
document . write("<br>");
}
}
//2.
var arr = [
{ "stuId": 1001, "stuName": "邹路", "stuGender": "男" },
{ "stuId": 1002, "stuName": "刘字磊", "stuGender": "男" },];
for (var i = 0; i < arr.length; i++) {
var obj = arr[i];
for (var j in obj) {
document.write(obj[j] + " ");
}
document.write("<br>")
}
//3.
var arr = {
"employees": [
{ "firstName": "John", "lastName": "Doe" },
{ "firstName": "Anna", "lastName": "Smith" },
{ "firstName": "Peter", "lastName": "Jones" }
]
};
var obj = arr.employees;
for (var i = 0; i < obj.length; i++) {
var obj1 = obj[i]
for (var j in obj1) {
document.write(obj1[j] + " ");
}
document.write("<br>")
}
</script>
解析json
<script>
// var arr = { "employees": [{ "firstName": "John", "lastName": "Doe" }, { "firstName": "Anna", "lastName": "Smith" }, { "firstName": "Peter", "lastName": "Jones" }] };
// var obj = eval("{age:10,name: 'jack'}");
//把字符串转化json数据 反序列化
// var obj = JSON. parse(str);
var arr = [{ "name": "xiaoming", "age": 20 }, { "name": "xiaohong", "age": 10 }];
var str = JSON.stringify(arr); //把json数据转化为字符串 序列化
console.log(str);
</script>