0
私はこのコードを例3で修正するのに助けが必要です。私は、この参照のためにプロトタイプを動作させる方法をソートすることはできません。私はローカルスコープにこのreferesを知っているがさえするvarキープを作成=このことはprotoypeに失敗した参照を渡す:カリムの回答に基づいてFIXEDオブジェクト内の関数の中でプロトタイプの作業を行うには?
//exemplo 1
var m1=function(){
this.a=null;
this.b=null;
if (typeof this.fr !== "function") {
m1.prototype.fr = function (obp) {
var propriedade;
for (propriedade in obp) {
if (obp.hasOwnProperty(propriedade)) {
this[propriedade]=obp[propriedade];
}
}
return this;
}
}
}
var t2=new m1().fr({"a":"eee"}); //works!
console.log(t2);
//exemplo 2
var m1=function(obp){
this.a=null;
this.b=null;
if (typeof this.fr !== "function") {
m1.prototype.fr = function() {
var propriedade;
for (propriedade in obp) {
if (obp.hasOwnProperty(propriedade)) {
this[propriedade]=obp[propriedade];
}
}
return this;
}
}
}
var t2=new m1({"a":"eee"}).fr(); //works!
console.log(t2);
//exemplo 3
var o1={
m1:function(){
var m1=this;
this.a=null;
this.b=null;
if (typeof this.fr !== "function") {
this.prototype.fr = function (obp) { //fails here
var propriedade;
for (propriedade in obp) {
if (obp.hasOwnProperty(propriedade)) {
thia[propriedade]=obp[propriedade];
}
}
return this;
}
}
}
}
var t2=new o1.m1().fr({"a":"eee"}); //fails!
console.log(t2);
:
//exemplo 1
var m1=function(){
this.a=null;
this.b=null;
if (typeof this.fr !== "function") {
m1.prototype.fr = function (obp) {
var propriedade;
for (propriedade in obp) {
if (obp.hasOwnProperty(propriedade)) {
this[propriedade]=obp[propriedade];
}
}
return this;
}
}
}
var t1=new m1().fr({"a":"eee"});
console.log(t1);
//exemplo 2
var m2=function(obp){
this.a=null;
this.b=null;
if (typeof this.fr !== "function") {
m2.prototype.fr = function() {
var propriedade;
for (propriedade in obp) {
if (obp.hasOwnProperty(propriedade)) {
this[propriedade]=obp[propriedade];
}
}
return this;
}
}
}
var t2=new m2({"a":"eee"}).fr();
console.log(t2);
//exemplo 3
var o1={
m1:new m1()
}
var t3=o1.m1.fr({"a":"eee"});
console.log(t3);