一个由“大头儿子带小头儿子用饭”激发的血案

在群里议论JavaScript,然后得出了这几种写法,觉得是层层递进,想了想,末了挑选宣布成文章

({
    baby : '大头儿子',
    dady : '小头爸爸',
    run : function() {
        console.log(this.dady+ this.callbaby() + this.eat());
    },
    callbaby : function() {
        return '叫'+this.baby+'去';
    },
    eat : function() {
        return '用饭';
    },
}).run();


function GoFood() {
    this.baby = '大头儿子';
    this.dady = '小头爸爸';
};

GoFood.prototype.run = function() {
        console.log(this.dady+ this.callbaby() + this.eat());
    };
GoFood.prototype.callbaby = function() {
        return '叫'+this.baby+'去';
    };
GoFood.prototype.eat = function() {
        return '用饭';
    };

var GoFood1 = new GoFood();
GoFood1.run();

var eatObj = {
    baby : '大头儿子',
    dady : '小头爸爸',
    run : function(callback) {
        callback = (typeof callback == 'function' ) ? callback : function() {};
        console.log(this.dady+ this.callbaby() + this.eat()+callback());
    },
    callbaby : function() {
        return '叫'+this.baby+'去';
    },
    eat : function() {
        return '用饭';
    },
}

var eatObj1 = Object.create(eatObj);
eatObj1.run(function() {
    return ',吃完了背小头儿子归去';
});


function Person(name){
this.name=name;
}
Person.prototype={
 getHand:function(person){
 console.log(this.name+"正在牵着"+person.name+"的手");
 },
  eat:function(rice){
  console.log(this.name+"正在吃"+rice.name+"....");
 }
}

function Rice(name){
 this.name=name;
}
//***************给一切对象扩大一个继续的要领(extends继续)**********
Object.prototype.extends=function(func){  
    for(var p in func.prototype){
    this.prototype[p]=func.prototype[p]; 
    }

}
//father 
function Father(name){
 this.name=name;
}
Father.extends(Person);  //爸爸要继续人的功用
Father.prototype.carry=function(person){
    console.log(this.name+"正在背着"+person.name+"......");
    }

//小孩
function Children(name){
  this.name=name;
}
Children.extends(Person);//小孩继续人的功用

var x=new Father("小头爸爸");
var d=new Children("大头儿子");
x.getHand(d);
var  p1=new Rice("水饺");
var p2=new Rice("炒粉");
x.eat(p1);
d.eat(p2);
x.carry(d);
    原文作者:kumfo
    原文地址: https://segmentfault.com/a/1190000004880315
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞