gpt4 book ai didi

javascript - 覆盖/覆盖函数内的函数

转载 作者:行者123 更新时间:2023-11-28 09:58:29 24 4
gpt4 key购买 nike

你可以覆盖/覆盖函数内的函数吗?我有一个无法更改代码的功能。我想改变其中一种方法。我已尝试以下操作,但它仍然提醒“parent init”

parent = function(arg){
this.init = function(){
alert("parent init")

}
this.other = function(){
alert('i just do this')
}
// lots of other code that I would like not to have to copy paste

this.init();
}

child = function(arg){
this.init = function(){
alert("child init")
}
}

child.prototype = new parent();
child.prototype.init = function(){
alert("another child init attempt")
}
child.init = function(){
alert("another another child init attempt")
}

var x = new child();

最佳答案

参见 fiddle :http://jsfiddle.net/yXguc/

它是来自父级的警报,因为您实际上正在创建一个新的父级:

child.prototype = new parent();

子 init 不会发出任何警报,因为它不会调用自己的 init。如果您希望执行父级的构造函数,则必须手动调用它。

var x = new child();

关于javascript - 覆盖/覆盖函数内的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9575397/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com