js 函数常见的三种实例化方式
2017-05-22 10:02
183 查看
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');
相关文章推荐
- js对象实例化的常见三种方式
- JavaScript的作用;JS常见的三种对话框;==和===的区别;函数内部参数数组arguments在函数内部打印实参;JS的误区:没有块级作用域
- JS 之函数定义 & 创建对象(三种方式)
- JS中创建函数的三种方式及区别
- js中函数的三种定义方式、函数声明、函数同名重复、函数删除、
- js 函数定义三种方式
- js 函数定义三种方式
- js 函数定义三种方式
- js三种创建函数的方式
- JS中创建函数的三种方式及区别
- JS之函数定义的三种方式
- js 函数定义三种方式
- js中创建函数的三种方式
- ASP.NET后台调用前台JS函数的三种常见方法
- JS 之函数定义 & 创建对象 三种方式
- js函数定义的三种方式及比较
- js中定义函数的三种方式
- JS中创建函数的三种方式及区别
- JS中创建函数的三种方式及区别
- js 函数定义三种方式