javascript - 如何链接具有 namespace 的方法?

标签 javascript jquery method-chaining

如果我有一个像

这样的函数
namespace.functionName = function() { 
   /// some code
 }

我如何在方法链中使用它,例如:

$("#element1").show().namespace.functionName()

上面的语句给出了一个错误,说“无法读取未定义的属性'functionName'”

最佳答案

坦白说,你所做的尝试没有任何意义。但是要使函数链发生,您可以通过

var namespace = {};

namespace.functionName = function() { 
   alert("hi");
 }

function show() {

    alert("do 1");
    /*just return the parent object of the namespace 
      assuming the namespace to be in global scope */
    return window;

}

show().namespace.functionName();

注意

方法链的工作原理是,我们调用的第一个函数返回一个对象,该对象公开要在链中调用的其他方法。因此,在您解释的情况下,如果不编辑您指定的 show() 方法,就不可能实现。

或者正如@RobG建议的那样,您可以创建一个包装函数来调用所需的函数,然后返回链接所需的对象。

关于javascript - 如何链接具有 namespace 的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25782338/

相关文章:

javascript - 如何管理多 Node 项目?

javascript - JSON 渲染为 HTML,仅包含最后一个 <li> 元素

javascript - 了解 jQuery-Mobile 页面触发事件 - 为什么关闭时会显示对话框页面

JavaScript 函数式编程 - 链接函数和使用匿名函数

javascript - 如何让方法使用参数调用自身而不发生堆栈溢出

javascript - 将函数从 JS 导入到 JSX

c# - 如何将此 JSON 反序列化为 C# 对象?

javascript - 如何停止媒体查询中的 Jquery 悬停?

javascript - 如何使用 javascript 自动缩小文本以适应 div 宽度和高度?

ruby - 内联数组切片