I';我正在更改javascript类的构造函数,但新的构造函数不是';你没打电话吗?

I';我正在更改javascript类的构造函数,但新的构造函数不是';你没打电话吗?,javascript,javascript-framework,sapui5,Javascript,Javascript Framework,Sapui5,我正在使用SAP UI5框架。我正在创建一个类的实例,然后更改一个类的构造函数。在创建类的第二个实例时,不会调用new Constructor var myConstructor = function(){ alert('my own constructor'); } var btn = new sap.m.Button({text:'Hello World'}) //sap.m.Button is a class sap.m.Button.prototype.constructor =

我正在使用SAP UI5框架。我正在创建一个类的实例,然后更改一个类的构造函数。在创建类的第二个实例时,不会调用new Constructor

var myConstructor = function(){
    alert('my own constructor');
}
var btn = new sap.m.Button({text:'Hello World'}) //sap.m.Button is a class
sap.m.Button.prototype.constructor = myConstructor; //Changing the constrcutor
var btn2 = new sap.m.Button({text:'h'}); // why myConstructor aint called !
下面是一个工作示例


谢谢

这样做实际上并没有改变构造函数

sap.m.Button.prototype.constructor = myConstructor;
您只需更改原型用来引用其构造函数的属性

要完全更改构造函数,只需重新分配它

sap.m.Button = myConstructor;
我还是不知道你为什么要那样做。如果要临时更改构造函数,则可能需要先存储它,然后将其设置回初始版本

var oldCtor = sap.m.Button;
sap.m.Button = = myConstructor;
// finished doing your tasks
sap.m.Button = oldCtor;

这样做实际上并不是在更改构造函数

sap.m.Button.prototype.constructor = myConstructor;
您只需更改原型用来引用其构造函数的属性

要完全更改构造函数,只需重新分配它

sap.m.Button = myConstructor;
我还是不知道你为什么要那样做。如果要临时更改构造函数,则可能需要先存储它,然后将其设置回初始版本

var oldCtor = sap.m.Button;
sap.m.Button = = myConstructor;
// finished doing your tasks
sap.m.Button = oldCtor;

这样做实际上并不是在更改构造函数

sap.m.Button.prototype.constructor = myConstructor;
您只需更改原型用来引用其构造函数的属性

要完全更改构造函数,只需重新分配它

sap.m.Button = myConstructor;
我还是不知道你为什么要那样做。如果要临时更改构造函数,则可能需要先存储它,然后将其设置回初始版本

var oldCtor = sap.m.Button;
sap.m.Button = = myConstructor;
// finished doing your tasks
sap.m.Button = oldCtor;

这样做实际上并不是在更改构造函数

sap.m.Button.prototype.constructor = myConstructor;
您只需更改原型用来引用其构造函数的属性

要完全更改构造函数,只需重新分配它

sap.m.Button = myConstructor;
我还是不知道你为什么要那样做。如果要临时更改构造函数,则可能需要先存储它,然后将其设置回初始版本

var oldCtor = sap.m.Button;
sap.m.Button = = myConstructor;
// finished doing your tasks
sap.m.Button = oldCtor;

更改默认构造函数会影响对象行为,所以不要这样做

<script>
    var myConstructor = function(){
        alert('my own constructor');
    }
    var btn = new sap.m.Button({text:'Hello World'})
    btn.placeAt('content');
    sap.m.Button = myConstructor; //Changing the constrcutor
    var btn2 = new sap.m.Button({text:'h'}); // why myConstructor ain't called !

    console.log(sap.m.Button.constructor)
    //but if you see i doh't write btn2.placeAt("content") because of your constructor don't do many things as need


</script>

var myConstructor=function(){
警报(“我自己的构造函数”);
}
var btn=new sap.m.Button({text:'Hello World'})
btn.placeAt(“内容”);
sap.m.Button=myConstructor//更换施工人员
var btn2=new sap.m.Button({text:'h'});//为什么不叫我的老师!
console.log(sap.m.Button.constructor)
//但是如果你看到我没有写btn2.placeAt(“内容”),因为你的构造函数没有做很多需要做的事情

更改默认构造函数可能会影响对象行为,所以不要这样做

<script>
    var myConstructor = function(){
        alert('my own constructor');
    }
    var btn = new sap.m.Button({text:'Hello World'})
    btn.placeAt('content');
    sap.m.Button = myConstructor; //Changing the constrcutor
    var btn2 = new sap.m.Button({text:'h'}); // why myConstructor ain't called !

    console.log(sap.m.Button.constructor)
    //but if you see i doh't write btn2.placeAt("content") because of your constructor don't do many things as need


</script>

var myConstructor=function(){
警报(“我自己的构造函数”);
}
var btn=new sap.m.Button({text:'Hello World'})
btn.placeAt(“内容”);
sap.m.Button=myConstructor//更换施工人员
var btn2=new sap.m.Button({text:'h'});//为什么不叫我的老师!
console.log(sap.m.Button.constructor)
//但是如果你看到我没有写btn2.placeAt(“内容”),因为你的构造函数没有做很多需要做的事情

更改默认构造函数可能会影响对象行为,所以不要这样做

<script>
    var myConstructor = function(){
        alert('my own constructor');
    }
    var btn = new sap.m.Button({text:'Hello World'})
    btn.placeAt('content');
    sap.m.Button = myConstructor; //Changing the constrcutor
    var btn2 = new sap.m.Button({text:'h'}); // why myConstructor ain't called !

    console.log(sap.m.Button.constructor)
    //but if you see i doh't write btn2.placeAt("content") because of your constructor don't do many things as need


</script>

var myConstructor=function(){
警报(“我自己的构造函数”);
}
var btn=new sap.m.Button({text:'Hello World'})
btn.placeAt(“内容”);
sap.m.Button=myConstructor//更换施工人员
var btn2=new sap.m.Button({text:'h'});//为什么不叫我的老师!
console.log(sap.m.Button.constructor)
//但是如果你看到我没有写btn2.placeAt(“内容”),因为你的构造函数没有做很多需要做的事情

更改默认构造函数可能会影响对象行为,所以不要这样做

<script>
    var myConstructor = function(){
        alert('my own constructor');
    }
    var btn = new sap.m.Button({text:'Hello World'})
    btn.placeAt('content');
    sap.m.Button = myConstructor; //Changing the constrcutor
    var btn2 = new sap.m.Button({text:'h'}); // why myConstructor ain't called !

    console.log(sap.m.Button.constructor)
    //but if you see i doh't write btn2.placeAt("content") because of your constructor don't do many things as need


</script>

var myConstructor=function(){
警报(“我自己的构造函数”);
}
var btn=new sap.m.Button({text:'Hello World'})
btn.placeAt(“内容”);
sap.m.Button=myConstructor//更换施工人员
var btn2=new sap.m.Button({text:'h'});//为什么不叫我的老师!
console.log(sap.m.Button.constructor)
//但是如果你看到我没有写btn2.placeAt(“内容”),因为你的构造函数没有做很多需要做的事情

var btn2=new btn.constructor({text:'h'})
var btn2=new btn.constructor({text:'h'})
var btn2=new btn.constructor({text:'h'})