构造函数和原型

Posted guwufeiyang

tags:

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

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

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

1、对象字面量

var obj1 = new Object();

2、new Object()

var obj2 = {};

3、自定义构造函数

function Star(uname, age) {
    this.uname = uname;
    this.age = age; 
    this.sing = function() {
        console.log(‘我会唱歌‘);
    }
}
var ldh = new Star(‘刘德华‘, 18);
var zxy = new Star(‘张学友‘, 19);
ldh.sing();
zxy.sing();

1.2构造函数

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

在js中,使用构造函数时要注意以下两点:

  1. 构造函数用于创建某一类对象,其首字母要大写
  2. 构造函数要和new一起使用才有意思

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

  1. 在内存中创建一个新的空对象
  2. 让this指向这个新对象
  3. 执行构造函数里面的代码,给这个新对象添加属性和方法
  4. 返回这个新对象(所以构造函数里面不需要return)

 

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

读代码-构造函数和原型的重名属性

js组合继承(原型继承+借用构造函数继承)

JavaScrit构造函数原型对象作用意义

JavaScript之面向对象学习七(动态原型模式和寄生构造函数模式创建自定义类型)

js 继承与原型链

构造函数和原型