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 $test
和var 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。
麦克风