對(duì)象定義的三種方式:
1 . var obj1 = {"name" : "張三"}
2 .var obj2 = new Object({name:"張三"});
3 . var obj3 = Object.create({name:"張三"})确买;
var obj1 = {
name:"李四",
age:19,
};
直接定義對(duì)象
var obj1 = new Object({“name”:"張三"});
追加定義對(duì)象
var obj3 = new Object();
obj3.name = "張三";
obj3.age = "20";
覆蓋定義對(duì)象;
obj3 = {
"height":"178cm",
hobby:function(){
console.log("愛(ài)好");
}
}
js對(duì)象的鍵名不需要雙引號(hào),json的鍵名需要雙引號(hào) 規(guī)范外單內(nèi)雙
var json = '{"name":"張三","age":"19"}';
對(duì)象轉(zhuǎn)換成json
var json1 = JSON.stringify(obj3);
json數(shù)據(jù)轉(zhuǎn)換成對(duì)象
var json2 = JSON.parse(json1);
傳值與傳值
-
傳值:
var a = 10; var b = a; b = 5; console.log(a);//10
-
傳址:對(duì)象賦值取相同的內(nèi)存地址寸痢;
var obj = { a:10 } var obj2 = obj; obj2.a = 5; console.log(obj.a);//5
深度拷貝;arr 和 arr2之間不會(huì)有聯(lián)系
var arr = [1,2,3,4,5];
var arr2 = arr;
var arr2 = JSON.parse(JSON.stringify(arr));
arr2[2] = 7;
console.log(arr);
console.log(arr2);
image.png
對(duì)象屬性和方法的調(diào)用
var dog = {
name:"wuli",
gender:"female",
eat:function(){
console.log("吃");
},
play:function(){
console.log("撒歡");
},
call:function(){
console.log("叫");
}
}
console.log(dog);
// 調(diào)用屬性
console.log(dog.name);
// 調(diào)用方法
dog.eat();
dog.play();
dog.call();