谁能告诉我 jQuery 中的变量 $variable 和 $.Variable 有什么区别?例如:
$x='3';
$.y(parseInt($(this).val())
第一个 ($x) 是一个变量(在这种情况下,它被分配了一个字符串 3 的值。第二个是对函数 y() 的函数调用,它可能是一个 jquery 扩展函数。在你的例子中,这个函数获取一个参数,该参数包含某个整数,该整数来自 $(this) 引用的某物的值。
请注意,$x 也可以很容易地成为 var x = '3'。您的示例中的赋值实际上有点奇怪,因为 $ 前缀通常表示该变量包含一些 jQuery 选择器结果。
$var
只是一个约定,告诉 var 包含一个 jQuery 包装的 DOM 选择,例如:
var $form = $('#yourForm');
$.function
另一方面意味着您正在调用 jQuery 库的一些“静态”函数,例如$.each()
,没有执行任何 DOM 选择。
在 JavaScript 中,您可以让变量名称包含字符$
. 如果你创建一个带有 script 标签的新 HTML 文档,你可以这样做:
var $test = 10;
console.log($test);
它将登录10
到控制台。
jQuery 使用$
变量作为自身的简写,并且任何 jQuery 函数/扩展都可以从该对象中获得。以下内容可能会更清楚:
// Assume you have already loaded jQuery
$ == jQuery; // true!
$.test = 10; // Assign a random property to the "jQuery Object"
console.log($.test); // print out "10"
现在,在您的示例中$.y()
,有人通过添加一个名为 的方法来扩展 jQuery,该方法y
可以作为$.y()
. 在许多情况下,作为跟踪对象类型的一种方式,如果您有一个引用 jQuery 对象的变量,您可以在变量名称前加上 DollarSign:
var header = document.getElementById("header"); //without jQuery
var $header = $("#header"); // with jQuery
以上不是规则,只是许多人为保持代码清晰而遵循的约定。