JavaScript的繼承的封裝介紹_基礎(chǔ)知識(shí)
來源:懂視網(wǎng)
責(zé)編:小采
時(shí)間:2020-11-27 21:14:23
JavaScript的繼承的封裝介紹_基礎(chǔ)知識(shí)
JavaScript的繼承的封裝介紹_基礎(chǔ)知識(shí): 代碼如下: /** * 當(dāng)調(diào)用此函數(shù)時(shí),只有第一次參數(shù)傳入,第二個(gè)不存在的情況下,就創(chuàng)建類 * 當(dāng)調(diào)用此函數(shù)時(shí),傳入了兩個(gè)參數(shù),第一個(gè)參數(shù)為基類,第二個(gè)參數(shù)則在基類的基礎(chǔ)上添加內(nèi)容 */ function extend(obj,prop){ function F(){ } //如果第
導(dǎo)讀JavaScript的繼承的封裝介紹_基礎(chǔ)知識(shí): 代碼如下: /** * 當(dāng)調(diào)用此函數(shù)時(shí),只有第一次參數(shù)傳入,第二個(gè)不存在的情況下,就創(chuàng)建類 * 當(dāng)調(diào)用此函數(shù)時(shí),傳入了兩個(gè)參數(shù),第一個(gè)參數(shù)為基類,第二個(gè)參數(shù)則在基類的基礎(chǔ)上添加內(nèi)容 */ function extend(obj,prop){ function F(){ } //如果第

代碼如下:
/**
* 當(dāng)調(diào)用此函數(shù)時(shí),只有第一次參數(shù)傳入,第二個(gè)不存在的情況下,就創(chuàng)建類
* 當(dāng)調(diào)用此函數(shù)時(shí),傳入了兩個(gè)參數(shù),第一個(gè)參數(shù)為基類,第二個(gè)參數(shù)則在基類的基礎(chǔ)上添加內(nèi)容
*/
function extend(obj,prop){
function F(){
}
//如果第一個(gè)參數(shù)為object類型(即json對象)的話,則將json的key value賦值給F函數(shù)的原型 F.prototype.key = value
if (typeof(obj) == "object") {
for(var name in obj){
F.prototype[name] = obj[name];
}
} else {//如果第一個(gè)參數(shù)為function類型的話,則將次函數(shù)的原型賦值給F函數(shù),prop肯定是傳值的(json對象),所以將prop賦值給F函數(shù)的原型
F.prototype = obj.prototype;
for(var name in prop){
F.prototype[name] = prop[name];
}
}
return F;
}
//因?yàn)檫@里只有一個(gè)參數(shù),所以此時(shí)會(huì)將json對象的key,value賦值給extend函數(shù)中的F函數(shù)的原型,然后用person變量接收F函數(shù),此時(shí)person也成為了一個(gè)函數(shù),此函數(shù)也擁有了F函數(shù)的原型 name和sex
var person = extend({
name:"xxc",
sex:"man"
});
//將person函數(shù)傳入,進(jìn)入extend函數(shù)后,首先將person的原型賦值給F函數(shù),然后將第二個(gè)參數(shù)hope:"more money"賦值給F函數(shù),此時(shí)F函數(shù)的原型有三個(gè)東西name,sex,hope
//最后將F函數(shù)返回,導(dǎo)致person的原型也和F函數(shù)一樣,有name,sex,hope
var person = extend(person,{
hope:"more money"
});
alert(person.prototype.name);//xxc
alert(person.prototype.sex);//man
alert(person.prototype.hope);//more money
代碼如下:
function.html
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
JavaScript的繼承的封裝介紹_基礎(chǔ)知識(shí)
JavaScript的繼承的封裝介紹_基礎(chǔ)知識(shí): 代碼如下: /** * 當(dāng)調(diào)用此函數(shù)時(shí),只有第一次參數(shù)傳入,第二個(gè)不存在的情況下,就創(chuàng)建類 * 當(dāng)調(diào)用此函數(shù)時(shí),傳入了兩個(gè)參數(shù),第一個(gè)參數(shù)為基類,第二個(gè)參數(shù)則在基類的基礎(chǔ)上添加內(nèi)容 */ function extend(obj,prop){ function F(){ } //如果第