js 函数常见的三种实例化方式

 1         //工厂模式
 2         function oj(){
 3             var lio=new Object(); //创建对象,对象属性赋值
 4             lio.name='lio';
 5             lio.attr='男';
 6             lio.hobby=function(){
 7                 var li=document.createElement("p");
 8                 var txt=document.createTextNode("三妹");
 9                 li.appendChild(txt);
10                 document.body.appendChild(li);
11             };
12             return lio;
13         }
14         var person=oj();
15         //alert(person.name);
16 
17         //构造函数模式
18         function oj2(name,age){
19             this.name=name;
20             this.age=age;
21             this.hobby=function(){
22                 var li=document.createElement("p");
23                 var txt=document.createTextNode("三妹");
24                 li.appendChild(txt);
25                 document.body.appendChild(li);
26             }
27         }
28         var person2=new oj2('三妹',123);
29         person2.hobby();
30         alert(person2.name);
31 
32         //原型模式
33         function oj3(){
34             //this.name='lio';
35         }
36         oj3.prototype.name='lio';
37         oj3.prototype.love= function (name) {
38             alert("爱"+name);
39         };
40         var person3=new oj3();
41         //检测是在实例中还是在原型中
42         alert(person3.hasOwnProperty("name"));
43         alert(person3.hasOwnProperty("rename"));
44         person3.love('三妹');
45 
46         //混合模式
47         function oj4(age) {
48             this.age=age;
49             this.rename='aaaa';
50         };
51         oj4.prototype={
52             constructor:oj4,
53             name:'lio',
54             age:123,
55             love: function (name) {
56                 alert(name+"爱三妹");
57             }
58         };
59         var person4=new oj4(18);
60         alert(person4.hasOwnProperty("age"));//true
61         person4.love('lio');

 

转载于:https://www.cnblogs.com/szatpig/p/6888181.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值