js-高级

1.创建对象的三种方式

1.1字面量方式

let json = {
    
    
  name: '张三',
  age: 12,
  sex: '男',
  eat: function () {
    
    
    console.log(this);//这里面的this,取决于是谁调用的
    console.log('吃的方法');
  }
}
// console.log(json);//{name: "张三", age: 12, sex: "男", eat: ƒ}
json.eat();//{name: "张三", age: 12, sex: "男", eat: ƒ}
let func = json.eat;
func();//window

1.2调用系统构造函数

let obj = new Object;
obj.name = '张三';
obj.age = 16;
obj.sex = '男';
obj.eat = function () {
    
    
  console.log('吃的方法');
};
console.log(obj);//{name: "张三", age: 16, sex: "男", eat: ƒ}

1.3自定义构造函数

function Person(name, age, sex) {
    
    
  this.name = name;
  this.age = age;
  this.sex = sex;
  this.play = function () {
    
    
    console.log("天天打游戏");
  };
}
let p = new Person("雏田", 18, "女");
console.log(p);//{name: "雏田", age: 18, sex: "女", play: ƒ}

class People {
    
    
  constructor(name, age, sex) {
    
    
    this.name = name;
    this.age = age;
    this.sex = sex;
  }
  play = () => {
    
    
    console.log(this);
  }
}
console.log(new People("雏田", 18, "女"));//{name: "雏田", age: 18, sex: "女", play: ƒ}

猜你喜欢

转载自blog.csdn.net/big_sun_962464/article/details/113666070