美文网首页
面向对象/自定义构造函数创建对象

面向对象/自定义构造函数创建对象

作者: 曾基锟 | 来源:发表于2017-03-19 20:48 被阅读0次

自定义构造函数创建对象

基本写法

function 构造函数名(参数1,参数2,参数3...) {

//设置对象的属性

this.属性01 = 参数1;

this.属性02 = 参数2;

//设置对象的方法

this.方法01 = function () {

//.....

};

this.方法02 = function () {

//.....

}

}

//自定义构造函数方式创建对象

var 对象01 = new 构造函数名(实参01,实参02,实参03...);

var 对象02 = new 构造函数名(实参01,实参02,实参03...);

代码示例

function CreateBook (name,price,author,press) {

this.name = name;

this.price = price;

this.author = author;

this.press = press;

this.read = function () {

console.log("我的书名为:"+this.name+",作者为"+this.author+"....");

};

}

var b1 = new CreateBook("声名狼藉者的的生活","42.00","福柯","北京大学出版社");

var b2 = new CreateBook("人性的枷锁","49.00","毛姆","华东师范大学出版社");

var b3 = new CreateBook("悟空传","28.00","今何在","湖南文艺出版社");

//打印对象的属性,并调用对象的方法测试

console.log(b1.author);

console.log(b2.author);

console.log(b3.author);

b1.read();

b2.read();

b3.read();

构造函数与new关键字

构造函数和普通函数的区别:函数的首字母大写

构造函数的作用:用于完成对象的初始化

new关键字的作用:用于创建对象(Object类型)

自定义构造函数和简单工厂函数的对比

① 函数的首字母大写(用于区别构造函数和普通函数)

② 创建对象的过程是由new关键字实现

③ 在构造函数内部会自动的创建新对象,并赋值给this指针

④ 自动返回创建出来的对象

构造函数的执行过程

① 使用new关键字创建对象

② 把新创建出来的对象赋值给this

③ 在构造函数内部,使用this为新创建出来的对象设置属性和方法

④ 默认返回新创建的对象(普通函数如果不显示的return则默认返回undefined)。

构造函数的返回值

01 如果在构造函数中没有显示的return,则默认返回的是新创建出来的对象

02 如果在构造函数中显示的return,则依照具体的情况处理

[01] return 的是对象,则直接返回该对象,取而代之本该默认返回的新对象

[02] return 的是null或基本数据类型值,则返回新创建的对象

构造函数方式创建对象存在的问题

每次创建对象,都会重新创建函数,那么如果创建的对象数量很多,而对象方法内部的实现一模一样,则造成了资源浪费

相关文章

  • 创建对象的方法

    对象字面量 new Object()创建对象 工厂函数创建对象 自定义构造函数 属性和方法 new关键字 构造函数...

  • JavaScript原型

    创建对象的三种方式 字面量的方式 调用系统的构造函数 自定义构造函数方式 自定义构造函数创建对象做的事情 使用工厂...

  • 创建js对象_new+构造函数

    1、js面向对象 2、new构造函数创建

  • JavaScript 面向对象

    单个对象 创建自定义对象 创建对象字面量 变体 工厂模式 构造函数模式 原型模式 构造函数模式+原型模式 寄生构造模式

  • 原型对象及使用原型对象注意事项

    原型对象概念 在构造函数创建出来的时候,系统会默认帮构造函数创建并关联的一个新对象自定义构造函数的原型对象默认是一...

  • 面向对象/自定义构造函数创建对象

    自定义构造函数创建对象 基本写法 function 构造函数名(参数1,参数2,参数3...) { //设置对象的...

  • C++基础③new对象,继承,友元函数,函数的可变参数

    接续上篇C++基础②构造函数,析构函数,拷贝构造函数 前言 C++是一门面向对象的编程语言 , 创建用以创建对象 ...

  • 关于prototype

    原型对象(prototype)概念 在构造函数创建出来的时候,系统会默认帮构造函数创建并关联的一个新对象自定义构造...

  • JavaScript 面向对象编程

    JavaScript 快速入门 面向对象编程创建对象构造函数忘记写new怎么办?原型继承class继承 面向对象编...

  • 对象的创建

    创建对象 1. Object构造函数和对象字面量方法 2. 工厂模式 3. 构造函数模式(自定义) 创建 Pers...

网友评论

      本文标题:面向对象/自定义构造函数创建对象

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