js创建对象之寄生模式
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script type="text/javascript"> //创建对象之寄生构造模式 function Person(name , age , job){ var o = new Object(); o.name = name; o.age = age; o.job = job o.sayName = function(){ console.log(this.name); } return o; } var frient = new Person("宝清老窖" , 29 , "Software"); frient.sayName(); //怎么创建一个特殊的数组呢? function specialArray(){ //创建数组 var values = new Array(); //添加值 values.push.apply(values , arguments); //这句话一般人不理解,跟下面是相等的 /*if( arguments.length > 0 ){ for(var i = 0 ; i < arguments.length ; i++){ values.push(arguments[i]); } }*/ //添加方法 values.toPipedString = function(){ return this.join('|'); } return values; } var colors = new specialArray('red','yellow','green'); console.log(colors); //寄生模式不能通过instanceof来确定操作类型 //所以尽量避免使用 </script> </body> </html>