为什么在这个链接内置 JavaScript 方法的实例中不使用括号

Why aren't parenthesis used in this instance of chaining built-in JavaScript methods

我参考了这个答案:

    Array.min = function( array ){
    return Math.min.apply( Math, array );
};

为什么 Math 的 min 方法在链接 .apply() 之前不需要括号?我对该语法的理解是,不带括号的 .min 是 属性。

我之所以感到困惑,是因为我在链接方面的大部分经验都来自使用 jQuery 以及类似于以下的代码:

    jQuery("div").hide("slow", function(){
      jQuery(this)
      .addClass("done")
      .find("span")
      .addClass("done")
      .end()
      .show("slow", function(){
        jQuery(this).removeClass("done");
      });
    });

来源:http://ejohn.org/blog/ultra-chaining-with-jquery/

() 附加到 属性 名称采用该 属性 的值并尝试将其作为函数调用。

函数是对象,因此可以拥有自己的属性。

applymin(以及所有其他)函数的 属性(即它不是 return 值的 属性调用 min)。

这与方法链无关,方法链的 return 值是调用该方法的对象。

.apply 不是链式调用,它是每个 Function 的 属性,它可用是因为每个函数都继承自 Function.prototype.

即给定:

var m = Math.min;

然后 m.apply 只是访问该函数的 .apply 属性。