當函數讀取繼承物件時,實際上讀取的是繼承來的值。如果給繼承物件的屬性賦值,則這些屬性只會影響這個繼承物件自身,而不是原始物件
//inherit()返回了一个继承自原型对象p的属性的新对象 //这里使用ECMAScript 5中的Object.create()函数(如果可用) //如果不可用,则使用其它方法 function inherit(p) { if (p == null) throw TypeError(); //p是一个对象,但不能是null if (Object.create) //如果Object.create()存在 return Object.create(p); //直接使用 var t = typeof p; //否则进一步检验 if (t !== "object" && t !== "function") throw TypeError(); function f() { }; //定义一个空构造函数 f.prototype = p; //将其原型属性设置未p return new f(); //使用f()创建p的继承对象 }
以上是如何防止函式庫函數無意間錯誤修改的詳細內容。更多資訊請關注PHP中文網其他相關文章!