関数が継承されたオブジェクトを読み取るとき、実際には継承された値を読み取ります。継承されたオブジェクトのプロパティに値を割り当てる場合、これらのプロパティは、元のオブジェクトではなく、継承されたオブジェクト自体にのみ影響します
//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 中国語 Web サイトの他の関連記事を参照してください。