介绍一下,这是JS对象

介绍一下,这是JS对象

形如下面这种用花括号包裹的若干名称/值对的JS变量,便可称为对象。JS对象就是一个容器,用来盛变量的容器。

var Vincent = {
    
    
	name:"Vincent",
	age:16
}

除了上面这种直接声明的形式来创建对象的方式之外(对象字面量,也有叫直接量),还有通过关键字new的方式。
如下:

var date = new Date();
console.log(date)//Mon Jun 29 2020 23:32:34 GMT+0800 (中国标准时间)

对象的属性

说白了就是花括号里面的变量。我们可以通过’.'来访问对象的属性:

console.log(Vincent.name)//Vincent

也可以这样:

console.log(Vincent[name])//Vincent

对于遍历属性可以利用for…in:

for (x in Vincent)
    console.log(Vincent[x]);//Vincent \n 16

当我们需要给容器添加新的变量时可以这样:

Vincent.home = "China";
console.log(Vincent);//{name: "Vincent", age: 16, home: "China"}

当然如果想要删除变量时可以用delete:

delete Vincent.age;
console.log(Vincent);//{name: "Vincent", home: "China"}

当然delete最好只操作自定义的属性,就是我们自己手动添加的属性。

方法
当对象的属性值是一个函数时,就可以叫它方法:

var Vincent = {
    
    
	name:"Vincent",
	age:16,
	full:function(){
    
    
		return this.name + ":" + this.age;//此处的this代表代码的所有者,即调用方法的对象
	}
};

如上面,full就是Vincent的一个方法,当然方法的访问方式和属性一样,

Vincent.full()//"Vincent:16"

访问方法如果不带括号"()":

Vincent.full;
/*得到如下:
ƒ (){
		return this.name+":"+this.age;
	}
*/

小结

  1. 对象是js变量的容器,创建方法两种:直接声明和利用关键字new。
  2. 对象的属性就是容器里的变量,可以通过赋值来添加,也可以用delete删除。
  3. 属性的遍历用for…in…。
  4. 对象的方法就是值为函数的属性,调用属性方法时:objectName.methodName()
  5. this小结:在对象中,就代表该对象;在对象构造器中代替将被创建的对象。this是保留字不是变量不能被赋值。

猜你喜欢

转载自blog.csdn.net/weixin_41481695/article/details/107030980