如果我有一个像
这样的函数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/