简单的学习

Posted on 2018-05-31 15:40  baconcy  阅读(100)  评论(0)    收藏  举报

//定义一个公共的函数,工厂模式
 function sharedModel(name,height){
     var obj = new Object();
     this.name = name;
     this.height = height;
     this.run = function() { //this表示当前实例化的对象,即当前作用域下的对象,也就是obj
         return this.name + ',身高' + this.height + ',在创造性的学习!'
     };
     return obj;
 };
 var box = sharedModel('bacon',180);
 alert(box.run());

//构造函数
function Box(name,height){
    this.name = name; //这里面的this就相当于已经实例化了一个对象,并且指向这个对象,而且构造函数无返回值
    this.height = height;
    this.run = function() { //this表示当前实例化的对象,即当前作用域下的对象,也就是obj
        return this.name + ',身高' + this.height + ',在创造性的学习!'
    };
};
var box = new Box('bacon', 180) //实例化
alert(box.run())

工厂模式方法和构造方法的区别在于:

1.构造方法不会创建对象(new Object)

2.构造方法将属性和方法通过this来进行赋值

3.构造方法没有return语句

总是记不住,写出来,偶尔可以看看。

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3