如何防止庫(kù)函數(shù)無(wú)意間錯(cuò)誤修改
來(lái)源:懂視網(wǎng)
責(zé)編:小采
時(shí)間:2020-11-27 15:21:22
如何防止庫(kù)函數(shù)無(wú)意間錯(cuò)誤修改
如何防止庫(kù)函數(shù)無(wú)意間錯(cuò)誤修改:當(dāng)函數(shù)讀取繼承對(duì)象時(shí),實(shí)際上讀取的是繼承來(lái)的值。如果給繼承對(duì)象的屬性賦值,則這些屬性只會(huì)影響這個(gè)繼承對(duì)象自身,而不是原始對(duì)象//inherit()返回了一個(gè)繼承自原型對(duì)象p的屬性的新對(duì)象 //這里使用ECMAScript 5中的Object.create()函數(shù)(如果可用
導(dǎo)讀如何防止庫(kù)函數(shù)無(wú)意間錯(cuò)誤修改:當(dāng)函數(shù)讀取繼承對(duì)象時(shí),實(shí)際上讀取的是繼承來(lái)的值。如果給繼承對(duì)象的屬性賦值,則這些屬性只會(huì)影響這個(gè)繼承對(duì)象自身,而不是原始對(duì)象//inherit()返回了一個(gè)繼承自原型對(duì)象p的屬性的新對(duì)象 //這里使用ECMAScript 5中的Object.create()函數(shù)(如果可用

當(dāng)函數(shù)讀取繼承對(duì)象時(shí),實(shí)際上讀取的是繼承來(lái)的值。如果給繼承對(duì)象的屬性賦值,則這些屬性只會(huì)影響這個(gè)繼承對(duì)象自身,而不是原始對(duì)象
//inherit()返回了一個(gè)繼承自原型對(duì)象p的屬性的新對(duì)象
//這里使用ECMAScript 5中的Object.create()函數(shù)(如果可用)
//如果不可用,則使用其它方法
function inherit(p) {
if (p == null) throw TypeError(); //p是一個(gè)對(duì)象,但不能是null
if (Object.create) //如果Object.create()存在
return Object.create(p); //直接使用
var t = typeof p; //否則進(jìn)一步檢驗(yàn)
if (t !== "object" && t !== "function") throw TypeError();
function f() { }; //定義一個(gè)空構(gòu)造函數(shù)
f.prototype = p; //將其原型屬性設(shè)置未p
return new f(); //使用f()創(chuàng)建p的繼承對(duì)象
}
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
如何防止庫(kù)函數(shù)無(wú)意間錯(cuò)誤修改
如何防止庫(kù)函數(shù)無(wú)意間錯(cuò)誤修改:當(dāng)函數(shù)讀取繼承對(duì)象時(shí),實(shí)際上讀取的是繼承來(lái)的值。如果給繼承對(duì)象的屬性賦值,則這些屬性只會(huì)影響這個(gè)繼承對(duì)象自身,而不是原始對(duì)象//inherit()返回了一個(gè)繼承自原型對(duì)象p的屬性的新對(duì)象 //這里使用ECMAScript 5中的Object.create()函數(shù)(如果可用