美文网首页
【JavaScript】构造函数

【JavaScript】构造函数

作者: level | 来源:发表于2019-01-23 13:54 被阅读0次

什么是构造函数

1、构造函数首字母大写(不是必须,但是还是要按照规范首字母大写)
2、用this来构造它的属性以及方法
3、需要使用new关键字来调用,普通函数直接调用

function Person(name, age){
    this.name = name;
    this.age = function(){
        return age;
    }
}

//构造函数使用
let person = new Person('a', 10);//this指向person,在new关键字调用时会创建一个新的空间,每当创建实例时函数体内部this都会指向当前
console.log(person);//构造函数会马上创建一个新对象,并将该新对象作为返回值返回

//普通函数使用
let person = Person('b', 20);//this指向window
console.log(person);//没有返回值,所以为undefined

执行过程

1、在堆内存中创建新对象
2、把this设置为新对象
3、逐个执行函数中的属性和方法
4、将新对象this作为返回值

生成对象的方式包括两种:对象字面量和构造函数。

对象字面量

//创建对象并添加属性和方法
let person = {
    name: '人',
    age: function(){
        return 20;
    }
};

//也可以先定义一个"空对象",然后在添加属性和方法
let person = {};
person.name = '人';
person.age = function(){
    return 20;
}

注意:"空对象"是一个没有自有属性的对象,{}对象会从Object.prototype继承属性和方法。

相关文章

  • 构造函数和原型对象

    javascript使用构造函数和原型对象来进行面向对象编程 构造函数 在 JavaScript 中,构造器其实就...

  • 原型与原型链

    构造函数与原型 JavaScript 语言使用构造函数(constructor)作为对象的模板。所谓”构造函数”,...

  • JavaScript 面向对象编程

    构造函数 JavaScript中的构造函数是创建对象时调用的函数,写法如下: 定义Person构造函数(默认构造函...

  • JavaScript的构造函数扩展、继承以及封装

    构造函数的扩展 扩展Man构造函数 构造函数的继承 Dog 继承 Pig JavaScript 内置对象的扩展 例...

  • javaScript面向对象—构造函数,原型和原型链

    构造函数 什么是构造函数 在javaScript中,用new关键字来调用的函数,称为构造函数。一般将构造函数的首字...

  • 前端高频面试题之——原型链

    JavaScript中的构造函数 原型是什么 面向对象语言中,类派生实例,JavaScript的函数可以作为构造器...

  • 2018-11-22

    JavaScript的面向对象是基于constructor(构造函数)与prototype(原型链)的。 构造函数...

  • 22

    JavaScript的面向对象是基于constructor(构造函数)与prototype(原型链)的。 构造函数...

  • 面向对象2

    JavaScript的面向对象是基于constructor(构造函数)与prototype(原型链)的。 构造函数...

  • OOP-2

    JavaScript的面向对象是基于constructor(构造函数)与prototype(原型链)的。 构造函数...

网友评论

      本文标题:【JavaScript】构造函数

      本文链接:https://www.haomeiwen.com/subject/yzkydqtx.html