为什么美元符号用于检测jQuery版本?

时间:2015-01-29 19:14:06

标签: jquery

我经常在下面的许多jQuery插件中看到:

var version= $ && $().jquery.split(/\./);

我可以理解$().jquery因为它会生成jQuery的版本,但在此之前,为什么只使用$符号,如果我使用function(a,b)

,则生成console.log($);

那么,为什么在这里使用$

2 个答案:

答案 0 :(得分:2)

在JavaScript中,运算符也会返回已计算的语句。

因为语句是true&&运算符也会返回右侧语句$().jquery.split(/\./);

一个更常见的例子是:debug && console.log(msg),意味着当debug为真,返回console.log(msg)

||会返回第一个评估为true的语句:"hello" || false; // "hello"

答案 1 :(得分:0)

$ && $()如果该语句的左侧为false,则不会执行右侧。这可以确保$在尝试将其作为函数执行之前是真实的。它不是万无一失的,因为如果$等于除了同样真实的函数之外的其他东西,它仍然会抛出语法错误,例如字符串"foobar"

基本上,它只是确保在尝试将$作为函数执行之前存在version。如果它不存在,$将等于未定义或{{1}}

中存储的任何内容