js构造函数

Posted perse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js构造函数相关的知识,希望对你有一定的参考价值。

在es6之前,对象不是基于类创建的,而是用一种称为构造函数的特殊函数来定义对象和它们的特征。

当需要很多很多对象时,而这些对象又有相同的属性和方法。这时需要把它抽离出来,再大量的生成对象,这时候就需要构造函数。

创建对象可以通过以下三种方式:

1.对象字面量

var obj1 = {}

2.new Object()

var obj1 = new Object()

3.自定义构造函数

      function Student(name, age) {
        this.name = name
        this.age = age
        this.study = function() {
          console.log(this.name + ‘在学习‘)
        }
      }
      var zs = new Student(‘张三‘, 18)
 
      console.log(zs) // Student {name: "张三", age: 18, study: ƒ}
      zs.study() // 张三在学习
      var ls = new Student(‘李四‘, 19)
      console.log(ls) // Student {name: "李四", age: 19, study: ƒ}
 
      ls.study() // 李四在学习

每当需要一个新的对象,就new一个新的对象。

构造函数是一个特殊的函数,主要用来初始化对象,即为成员变量赋初始值,它总与new一起使用。我们可以把对象中的一些公共的属性和方法抽取出来,然后封装到这个函数里。

new 在执行时会做四件事情:

1.在内存中创建一个新的空对象。

2.让this指向这个对象。

3.执行构造函数中的代码,给这个对象添加属性和方法。

4.返回这个新对象(所以构造函数不需要return)。

以上是关于js构造函数的主要内容,如果未能解决你的问题,请参考以下文章

js构造函数

JS:构造函数

JS中构造函数与普通函数的区别及JS构造函数原型和实例的关系

js原型和构造函数

JS构造函数

JS中构造函数、实例、原型对象之间的关系