这些陈述有什么区别?我知道“var $ test”声明了一个jquery变量,但jquery变量与一般javascript变量的区别是什么?
答案 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 $test
和var 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只提供结构 - 没有你自己无法做到的功能。
麦克