0

我的javascript代码如下:

(function(root, factory) {
  root.test = factory;
})(this, function() {

})
var test = function test(param) {
  var num = 0;
  if (param !== undefined) {
    num += param;
    console.log("calling test added: " + param + ", new value: " + num)
  } else
    console.log("test(without parameter) value:" + num);

  function test2(param) {
    num += param;
    console.log("calling test2 added: " + param + ", new value: " + num)
    return this;
  }

  function test3(param) {
    num += param;
    console.log("calling test3 added: " + param + ", new value: " + num)
    return this;
  }
  return {
    test: this,
    test2: test2,
    test3: test3
  };
}
//this works
test(3).test2(5).test3(7);
//below doesn't
//test.test2(5);

我不确定之前已经问过的问题,但我找不到像我这样的类似问题(我找到了这个那个,但实际上不是我要找的)

我想在不使用 JQUERY 的“$”之类的括号的情况下访问我的“测试”函数的方法。例如,对于 jquery,我可以同时使用两种方式:

$(...) 和 $.ajax(...)。

在我的代码中,我也想同时使用 test(...) 和 test.test2(...) 方式。

为了了解 jquery 如何实现它,我尝试研究jquery 未压缩的开发文件,但是代码太多(近 10600 行)并且对我来说太复杂了,所以我在这里问。我很抱歉我的英语不好,感谢您的帮助。

4

0 回答 0