JavaScript:对象(Object)

JavaScript 对象是拥有属性和方法的数据。就比如,这个汽车有名字,颜色,重量等特征,也有启动,刹车,停车等行为,我们把他的特征看作js对象的属性,他的行为看作对象的方法,也叫函数。
在这里插入图片描述

一、JS对象的创建方式

1、字面量方式

创建一个对象obj,包含name,age,sex等属性和一个函数sayHi()。

var obj = {
    
    
  name: 'zs',
  age: 18,
  sex: true,
  sayHi: function () {
    
    
    console.log(this.name);
  }
};

2、使用 new 关键字

var person = new Object();//创建对象
  //创建属性并赋值
  person.name = 'lisi';
  person.age = 35;
  person.job = 'actor';
  //创建函数并赋值
  person.sayHi = function(){
    
    
 	 console.log('Hello,everyBody');
  }

3、工厂方式

工厂就是一个函数,传入值让工厂自己创建。工厂里也是通过new对象来处理,最后返回对象。

//传入name,age,job,让工厂自己创建
function createPerson(name, age, job) {
    
    
	//创建对象person 
  var person = new Object();
  //给person 对象赋值属性
  person.name = name;
  person.age = age;
  person.job = job;
  //给对象创建行为
  person.sayHi = function(){
    
    
    console.log('Hello,everyBody');
  }
  //返回创建的对象
  return person;
}
//调用工厂,获取对象实例
var p1 = createPerson('张三', 22, 'actor');

4、使用自定义构造函数

function Person(name,age,job){
    
    
  this.name = name;
  this.age = age;
  this.job = job;
  this.sayHi = function(){
    
    
    console.log('Hello,everyBody');
  }
}
var p1 = new Person('张三', 22, 'actor');

二、获取对象的某个属性

在这里插入图片描述
获取对象中的所有属性的值:
在这里插入图片描述

三、删除属性

在这里插入图片描述

四、This关键字

函数内部的this几个特点:

  1. 函数在定义的时候this是不确定的,只有在调用的时候才可以确定
  2. 一般函数直接执行,内部this指向全局window
  3. 函数作为一个对象的方法,被该对象所调用,那么this指向的是该对象
  4. 构造函数中的this其实是一个隐式对象,类似一个初始化的模型,所有方法和属性都挂载到了这个隐式对象身上,后续通过new关键字来调用,从而实现实例化

猜你喜欢

转载自blog.csdn.net/qq_41504815/article/details/114407067