JavaScript(构造函数)

ECMAScript中的构造函数可以用来创建特定类型的对象。像Object和Arrray这样的原生构造函数,在运行时会自动出现在执行环境中。也可以自定义构造函数,用来自定义对象类型的属性和方法。

 

function Person(name,age,job) {
  this.name = name;
  this.age = age;
  this.job = job;
  this.sayName = function() {
    console.log(this.name)
  }
}
var person = new Person('marray','20','software engineer')

使用New操作符创建实例,以构造函数的方式创建实例会经历以下四步:

  • 创建一个新对象
  • 将构造函数的作用域赋给新对象
  • 执行构造函数中的代码,为新对象添加属性
  • 返回新对象

构造函数与普通函数的区别就在于调用方式不同,构造函数的调用方式有:

  • 使用new操作符当做构造函数使用
  • 不使用new操作符,作为普通函数使用
Person('jack',20,'doctor')//添加到window对象
window.sayName();
  • 使用call()/apply()在另一个对象的作用域中使用

 

var obj = new Object();
Person.call(obj,'jim',21,'nurse')
obj.sayName();

 

你可能感兴趣的:(JS)