javascript - 如何最好地覆盖 Javascript 对象方法

标签 javascript methods overriding

我正在使用一个允许包含 JS 文件的框架。在我的 JS 文件顶部有类似以下内容:

<import resource="classpath:/templates/webscripts/org/mycompany/projects/library/utils.lib.js">

我想重写在非常大的 utils.lib.js 文件中定义的一个相当小的方法。我不想直接在 utils.lib.js(框架的一部分文件)中进行更改,而是只想覆盖一个方法。 utils.lib.js 文件的内容如下:

var Evaluator =
{
   /**
    * Data evaluator
    */
    getData: function Evaluator_getData(input)
    {
          var ans;

          return ans;
    },
    ...
 }

我想改变 getData 方法的作用。抱歉,我问了一个基本问题,但是在导入将 JS 内容复制到我的 JS 文件顶部的文件后,我可以执行以下操作吗:

 Evaluator.getData = function Mine_getData(input)
                {
                  ...
                };

最佳答案

是的,您可以按照您的建议将该方法重新分配给您自己的函数:

 Evaluator.getData = function Mine_getData(input)
 {
     ...
 };

这将成功改变调用 .getData(input) 属性时发生的情况。

关于javascript - 如何最好地覆盖 Javascript 对象方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7382407/

相关文章:

javascript - Fabric.js 将过滤器应用于 Image.fromURL

java - 何时在泛型方法声明中使用 <T>

c# - 将 TryParse 与 double 一起使用显示过载错误?

docker - Docker撰写覆盖主机变量

javascript - 调用函数一次并分离自身

javascript - 使用 Angular 处理表单 : error doesn't show

java - 如何在具有接口(interface)返回类型的方法中实现错误处理

java - 在 Java 中重载/覆盖

android - 无法使用 Android Studio 覆盖 view.View 方法

javascript - 如何让重置功能在按下后停止计数?