js的实例化方式

构造函数模式

 function obj1(name,age){
    this.name=name;
    this.age=age;
    this.identity=function(){
        var li=document.createElement("p");
        var txt=document.createTextNode("白小纯");
        li.appendChild(txt);
        document.body.appendChild(li);
    }
}
var person2=new obj1('白小纯',123);
person2.identity();
alert(person2.name);

工厂模式

function obj2(){
     var lio=new Object(); //创建对象,对象属性赋值
     lio.name='lio';
     lio.attr='男';
     lio.identity=function(){
         var li=document.createElement("p");
         var txt=document.createTextNode("白小纯");
         li.appendChild(txt);
         document.body.appendChild(li);
     };
     return lio;
 }
 var person=obj2();
 //alert(person.name);

原型模式

function obj3(){
   //this.name='lio';
}
obj3.prototype.name='lio';
obj3.prototype.identity= function (name) {
    alert("实际上是"+name);
};
var person3=new obj3();
//检测是在实例中还是在原型中
alert(person3.hasOwnProperty("name"));
alert(person3.hasOwnProperty("rename"));
person3.identity('白小纯');

混合模式

function obj4(age) {
    this.age=age;
    this.rename='aaaa';
};
obj4.prototype={
    constructor:obj4,
    name:'lio',
    age:123,
    identity: function (name) {
        alert(name+"实际上是白小纯");
    }
};
var person4=new obj4(18);
alert(person4.hasOwnProperty("age"));//true
person4.identity('lio');
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值