javascript - 定义将由用户实现的功能

标签 javascript function language-design

我有以下示例代码

var object = {
    userDefinedFunction : function(){
        //no implementation, this will be defined by the user
    }
}

我想要实现的是用户给出自己的实现:

object.userDefinedFunction = function(){
    alert("just testing");
}

我测试了这个并且按预期工作,我想知道的是:

  • 这是解决此类问题的 javascript 方法吗?
  • 假设必须实现 userDefinedFunction,我如何确保这一点?我可以依赖类似下面的东西,检查 implemented,但我正在学习 javascript,所以我想知道如何利用该语言:

    userDefinedFunction : function(){
        implemented = false;
    }
    

谢谢。

最佳答案

我不知道这是不是要走的路,但如果你的对象必须由用户以某种方式初始化,你可以在这个函数中测试,是否定义了 userDefinedFunction 并抛出一个如果不是则异常(exception)。

感觉一个更简洁的实现的想法是让用户提供某种定义功能的配置对象,例如:

yourObject.initialize({
    userDefinedFunction: function() {}
});

关于javascript - 定义将由用户实现的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4203043/

相关文章:

javascript - 使用 javascript 的实际 'last updated' 日期

javascript - 从选定的单选按钮中选择下一个单选按钮

php - 更新个人资料图片但不断收到此 fatal error : Uncaught Error: Call to a member function prepare() on null

python - 为什么 Python 新式类中的 __new__ 不是类方法?

c# - 为什么 C# 3.0 对象初始值设定项构造函数括号是可选的?

refactoring - Duck 类型作为反射的语法糖 : Good or bad idea?

javascript - 将 JavaScript 值传递到 Java GWT

javascript - 动画显示 :none to display:inline

c++ - 当我尝试抛出异常时没有匹配函数错误

javascript - 一次将一个函数应用于多个元素