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

时间:2010-05-21 09:28:50

标签: javascript jquery

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

4 个答案:

答案 0 :(得分:30)

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

例如:

val

您可以执行var $test = $('#someId'); var test = document.getElementById('#someId'); ,但不能$test.text();

答案 1 :(得分:24)

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

  

美元符号($)和下划线   (_)允许在任何地方   标识符。美元符号是   仅供机械使用   生成的代码。

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

答案 2 :(得分:2)

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

这里有一些例子:

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

我认为让你感到困惑的是$()形式jquery。

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

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

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

答案 3 :(得分:-1)

尝试批评JQuery。

本机javascript和像JQuery这样的框架之间的差异是zip - 它共存。

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

我使用GMap是因为它的功能 - 我自己无法开发GMap功能。

但JQuery和extJS只提供结构 - 没有你自己无法做到的功能。

麦克