一、工厂模式
工厂模式的本质是函数的调用,具体方法如下:
1.创建一个函数 函数中包含以下几个部分:
A.在函数中创建一个空对象
B.设置对象的属性 obj.name = name;其中obj为创建的空对象的名字
C.为对象添加方法
D.返回对象
2.函数的调用
function Student (name, sex, age) { var obj = {}; obj.name = name; obj.sex = sex; obj.age = age; obj.informationPer = function () { console.log(obj.name, this.age); } return obj; } //使用工厂模式创建对象(函数调用) var stu1 = Student("中岛美雪", "女", 60); console.log(stu1); stu1.informationPer();
二、构造函数创建对象
构造函数创建对象的实质是构造函数与new运算符合用,具体的方法如下:
1.构造一个函数 注意:构造函数的名字的每一个单词的首字母都要大写,以区别于其他普通函数.
扫描二维码关注公众号,回复:
867553 查看本文章
函数中包含以下几个部分:
A. 设置对象的属性 注意:在这里使用this. this.name = name
B. 为对象添加方法
2.使用构造函数创建对象
注意:
1.为了区别构造函数与普通函数,构造函数的每个单词的首字母都大写.
2.使用构造函数来创建对象时,要使用new运算符.
3.注意:输出的结果是person对象.//构造函数 function Person(name, sex, age){ this.name = name; this.sex = sex; this.age = age; this.sayHello = function () { console.log("nihao") } } //使用构造函数创建对象 var per = new Person("仓央嘉措", "男", 53); console.log(per);
三、构造函数和原型对象创建对象
1.构造函数 注意:每一个原型对象都有一个constructor属性,存储的是创建对象时的构造函数.
2.原型对象
Dog.prototype.bark = function () {
console.log("旺旺");
}
3.实例化对象
//构造函数 function Dog (name, age){ this.name = name; this.age = age; } //原型对象 Dog.prototype.bark = function () { console.log("旺旺"); } Dog.prototype.eat = function () { console.log("骨头"); } //实例化对象 var daHuang = new Dog("大黄", 18); console.log(daHuang.name); daHuang.bark(); console.log(Dog.prototype.constructor);