3

谁能告诉我 jQuery 中的变量 $variable 和 $.Variable 有什么区别?例如:

$x='3';
$.y(parseInt($(this).val())
4

3 回答 3

5

第一个 ($x) 是一个变量(在这种情况下,它被分配了一个字符串 3 的值。第二个是对函数 y() 的函数调用,它可能是一个 jquery 扩展函数。在你的例子中,这个函数获取一个参数,该参数包含某个整数,该整数来自 $(this) 引用的某物的值。

请注意,$x 也可以很容易地成为 var x = '3'。您的示例中的赋值实际上有点奇怪,因为 $ 前缀通常表示该变量包含一些 jQuery 选择器结果。

于 2013-04-19T13:24:16.067 回答
3

$var只是一个约定,告诉 var 包含一个 jQuery 包装的 DOM 选择,例如:

var $form = $('#yourForm');

$.function另一方面意味着您正在调用 jQuery 库的一些“静态”函数,例如$.each(),没有执行任何 DOM 选择。

于 2013-04-19T13:25:44.547 回答
1

在 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

以上不是规则,只是许多人为保持代码清晰而遵循的约定。

于 2013-04-19T13:28:34.960 回答