有人可以解释一下在 jQuery 中定义变量时使用 $ 和不使用 $ 之间的区别吗?对性能有影响吗?
var $someVar = $("a");
var someVar = $("a");
还有,调用变量有和没有
$(someVar)
有什么区别,例如:
$(someVar).html();
someVar.html();
在您的第一个片段中,这两者之间没有区别。只是一个“notification
”,这个变量保存着一个
wrappet set
的jQuery对象,这是一些开发人员常用的。在第二个片段中,您实际上在做两件不同的事情。您将
someVar
包装到 jQuery 对象中,然后访问
jQuery method
(html())。 在此示例中,
someVar
可以包含
DOM element
或
selector string
,如“#some_element_id”。另一行假设
someVar
已经是一个 jQuery 对象,否则此调用将失败。
$foo
来引用 jquery 对象,以免将它们与复杂脚本中的非 jquery 对象混淆。至于
$()
包装,您可以引用一个DOMElement并将其包装在jQuery中,例如
var e = document.body; $(e).hide()
如果我们尝试
e.hide()
,则不会有定义的方法,因为 body 元素没有该方法,它仅由 jQuery 原型链提供。
$somevar
和
somevar
都是一样的。在 jquery 变量之前使用 $ 是一种约定,这样您就知道它是一个 jquery 包装的对象。(顺便说一句,在 javascript 中引入 $ 是为了区分机器生成的代码和人类编写的代码)