下面小編就為大家?guī)?lái)一篇js重寫(xiě)方法的簡(jiǎn)單實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。
如下所示:
Function.prototype.method = function(name, fn) {
this.prototype[name] = fn;//this指的應(yīng)該是Function.prototype對(duì)象
return this;//返回此對(duì)象,這個(gè)有助于像jq那樣的級(jí)聯(lián)操作
};
Number.method("interge",function(){
});//Number是一個(gè)構(gòu)造函數(shù),所以擁有上面的method方法,所以最后返回了Number對(duì)象(構(gòu)造函數(shù)),所以可以(-10/3).interge()
待續(xù)。。
//主要是調(diào)用父類(lèi)的方法
Obj.method("surper",function(name){
var that = this;
var method = that[name];
return function(){
return method.apply(that,arguments);//如果這里面沒(méi)有that的話(huà),就不會(huì)有cat.getName(that(是一個(gè)對(duì)象))
}
});//下面是一個(gè)應(yīng)用
var coolcat = function(spec){
var that = cat(spec);//個(gè)人感覺(jué)這里,這里的that可以有了cat就有“一些方法”
var getName = that.surper("getName");//這里感覺(jué)應(yīng)該是用新生成的對(duì)象來(lái)做,應(yīng)該才是更好的。最好不用that.
that.get_name= function(){
return "me"+getName()+"me";
}
return that;
}
上面的內(nèi)容來(lái)自《javascript語(yǔ)言精粹》,真的很不錯(cuò)。
以上這篇js重寫(xiě)方法的簡(jiǎn)單實(shí)現(xiàn)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考