JQuery:“var test”和“var $ test”有什么区别

这些陈述有什么区别? 我知道“var $ test”声明了一个jquery变量,但jquery变量与一般javascript变量的区别是什么?

没有。 没有不同。 $是JavaScript标识符中的有效字符,但没有特殊含义。 事实上,在7.6节的ECMAScript 3规范中,它指出了这一点

标识符中的任何位置都允许使用美元符号($)和下划线(_)。 美元符号仅用于机械生成的代码。

……虽然事件现在可能已经过时了。 实际上,最近的ECMAScript 5规范省略了最后一句话。

$test是一个约定,用于表示此变量是一个jQuery对象,您可以在其上调用标准函数,而test可以是标准DOM元素,例如,您无法在其上调用val函数。

例如:

 var $test = $('#someId'); var test = document.getElementById('#someId'); 

你可以做$test.text(); 但你不能做test.text();

var $testvar test之间没有区别。 但是知道变量中的数据类型总是很好:(例如,如果其他人只想修改代码中的函数而不必阅读,或者必须使用console.log你的变量来了解其中的内容)

这里有一些例子:

 var arrTest = [1, 2, a, b, c], //Array objTest = {test: 1, test2: 2}, //Object strTest = "test", //String intTest = 4, //integer $test = $("#test") //jqueryObject 

但它也会像这样工作

 var Test1 = [1, 2, a, b, c], //Array test2 = {test: 1, test2: 2}, //Object Test3 = "test", //String Test4 = 4, //integer $test = $("#test") //jquery Object 

我觉得让你困惑的是$()forms的jquery。

Jquery基本上是变量名$上的函数集:

 var $ = function(e){ // the jquery magic } 

但你仍然可以使用$somethingelse作为变量。

尝试对JQuery进行批评。

原生javascript和像JQuery这样的框架之间的差异是zip – 它共存。

如果你想掌握javascript – 跳过JQuery。

我使用GMap是因为它的function – 我自己无法开发GMapfunction。

但是JQuery和extJS只提供结构 – 没有你自己无法做到的function。

麦克风