如何修改主js文件中的javascript函数

时间:2015-10-27 06:34:56

标签: javascript jquery

我在javascript函数中遇到问题。 我已经在近20个文件中定义了一个函数,我无法单独修改它们。功能就像。

function next_question(thiss){
    //some code
}

我已经在所有文件中包含了一个js文件,现在想在这个函数的开头做一些任务,也在结束时但不能在文件中编辑这个函数。 我可以添加代码是单独的JS文件。我想要上面的功能

function next_question(thiss){
   //## add disabled class here 

   //some code

   //## remove disabled class here 
}

2 个答案:

答案 0 :(得分:1)

要覆盖javascript函数,您可以将原始函数存储在变量中,重置next_question函数并调用原始函数。

//oringal function
function next_question(thiss){
    console.log(thiss);
}

//override function
var original_next_question = next_question;
next_question = function(thiss){
    console.log('add disable');
    original_next_question.call(this, thiss);
    console.log('remove disable');
}

// calling now shows 3 console logs
next_question('some code');

使用call方法调用具有给定this值的函数和单独提供的参数。

Fiddle

答案 1 :(得分:0)

不推荐这样做但是在javascript中,函数就像任何其他对象一样,可以写出来。下面的代码将仅用于重新定义函数,如果它在声明原始函数之前执行,则会抛出致命错误。



next_question = function(this) {
       //## add disabled class here 

   //some code

   //## remove disabled class here 
}