拦截或覆盖类

时间:2016-01-09 15:38:36

标签: javascript jquery jsp

我是javascript和jquery的新手。

我在javascript中创建了一个具有一些功能的类。 我的javascript类是用.js文件编写的。

common.js

var myGeneralClass = {
    _show : function() {
        console.log("showing some divs here");
    },
    _hide : function() {
        console.log("hiding some divs here");
    }
}

_show()和_hide()函数绑定到某些事件

现在我有jsp文件,从最终的html呈现。

从各种jsp文件中调用myGeneralClass方法。

某些jsp脚本希望根据需要在_show()和_hide()方法中添加一些代码。

例如:

employee.jsp

<script>
    //want to add some lines of js code to _show() method plus its default code.
    // intercept _show() method
    _interceptShow : function() {
        console.log("this line is custom for employee");
    },

    // override _show() method
    _overrideShow : function() {
        console.log("this line is custom for employee");
        console.log("showing some divs here");
    }
</script>

我可以在javascript中覆盖OR拦截方法吗?

可以吗?

如果是,那么如何?

1 个答案:

答案 0 :(得分:1)

在方法中添加更多代码: 用这个:

var temp = myGeneralClass._show;
myGeneralClass._show = function(){ 
  temp(); 
  // more code
}

覆盖:

myGeneralClass._show = function(){ 
// new code
}