对象
对象(object)是javascript的核心概念,也是最重要的数据类型。javascript的所有数据都可以
被视为对象,javascript提供多个内建对象,比如String,Date,Array。对象是带有属性和方法的特殊数据类型
对象就是一种无序的数据集合,由若干个“键值对"构成,javascript对象满足的这种“键值对”的格式被称为JSON格式
对象有三种创建方式,分别为通过字面量形式创建对象,通过new Object创建,通过Object 对象的create方法创建。
其中通过字面量形式创建对象最常见,后两种则不再太常见
通过字面量形式创建对象
//字面量形式创建对象
let obj = {};//空对象
obj.uname = "xhb";
obj.uage = 18;
console.log(obj);
//非空对象,键都是字符串,值可以是六种数据类型中任意一种
let objj = {
uname: "xhb",
uage: 21,
islike: true,
say:function(){},
family:['baba','mama'],
dog:{
dname:"大黄",
dage:2
}
};
通过Object对象的create方法创建
let 对象名 = Object.create(null);
let 对象名 = Object.create(null);
obj.name = 'xhb';
obj.age = 18;
console.log(obj);
通过new Object创建
let 对象名 = new object();
let obj = new object();
obj.name = 'xhb';
obj.age = 18;
console.log(obj);
对象的序列化和反序列化
序列化即将JS对象序列化为字符串,(JS对象——>字符串)
反序列化即将字符串序列化为为JS对象,(字符串——>JS对象)
JS中调用JSON方法,可以将对象序列化成字符串,也可以将字符串序列化成对象。
序列化对象
JSON.stringify(object);
反序列化对象
JSON.parse(jsonStr);
//首先声明一个对象
let obj = {
uname:"xhb",
uage:99
}
console.log(obj);
//序列化,将对象变成字符串
let str = JSON.stringify(obj);
console.log(str);
//反序列化,将字符串变成对象
let fucking = JSON.parse(str);
console.log(fucking);
THIS
this是JavaScript语言中的一个关键字
它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用 随着函数使用场合的不同,this的值会发生变化,但是有一个总的原则,那就是this指的是,调用函数的那个对象
在函数中使用this
//在函数中使用this属于是全局性调用,代表全局对象,通过windows对象来访问
function lai(){
this.x = 1;
console.log(this.x);
}
lai();//1
console.log(x);//1
在对象的函数中使用this,代表当前的上级对象
//首先声明一个对象
let obj = {
uname:"xhb",
uage:99,
sayhello:function(){
console.log(this.name);
console.log(obj);
}
}
console.log(obj);
鄙人觉得跟Java的this对象应该差不多