为什么他们在这里使用函数名之前的前缀jQuery?

时间:2015-06-17 13:15:05

标签: jquery

我正在使用下面这段代码。为什么他们在函数scrollDepth()之前使用前缀jQuery?删除前缀时会发生什么?

<script src="jquery.scrolldepth.min.js"></script>
<script>
jQuery(function() {
  jQuery.scrollDepth();
});
</script>

3 个答案:

答案 0 :(得分:3)

您可能熟悉 jQuery 中的$符号。这实际上是jQuery对象的别名。所以,我们基本上有一个名为jQuery的对象,它包含我们在jQuery中使用的所有api方法

jQuery.each = function(){...}
jQuery.ajax = function(){...}
jQuery.makeArray = function(){...}

等等

现在, scrolldepth 是一个扩展 jQuery api的插件,类似于上面的方法

jQuery.scrollDepth = function(){...}

这就是它被称为jQuery.scrollDepth()

的原因

答案 1 :(得分:2)

scrollDepth是jQuery对象上的一个函数,因此必须在jQuery对象上调用它。 (该函数来自this plugin,它将函数添加到jQuery对象;它不是jQuery本身的一部分。)

答案 2 :(得分:1)

在这一行:

jQuery.scrollDepth();

您调用的jQuery“前缀”是具有scrollDepth功能的对象的名称。如果没有对该对象的引用,引擎就不知道在哪里找到该函数。

并非所有功能都是全球性的(谢天谢地)。在面向对象的世界中,函数存在于特定对象上。您需要引用该对象来调用其函数。