您能解释一下这两个javascript示例吗?
1:为什么您能解释一下这两个javascript示例吗?,javascript,Javascript,1:为什么foo&&baz的结果不是1?因为真的是1 var foo = 1; var baz = 2; foo && baz; // returns 2, which is true 2:console.log(foo++bar)中有两个加号,它们是什么意思 var foo = 1; var bar = '2'; console.log(foo + +bar); 这是因为&&(逻辑AND)运算符返回其计算的最后一个操作数的值。由于foo是true,它必须计算bar以确
foo&&baz
的结果不是1?因为真的是1
var foo = 1;
var baz = 2;
foo && baz; // returns 2, which is true
2:console.log(foo++bar)中有两个加号代码>,它们是什么意思
var foo = 1;
var bar = '2';
console.log(foo + +bar);
这是因为
&&
(逻辑AND)运算符返回其计算的最后一个操作数的值。由于foo
是true
,它必须计算bar
以确定表达式的结果(只有bar
也是true
,它才会是true
)
与之相反的是|
(逻辑或)运算符。在这种情况下,由于foo
为true
,表达式的结果已知为true
,而无需计算bar
,因此将返回foo
的值
关于第二个问题,一元
+
运算符允许将字符串'2'
转换为后面的数字2
。因此,根据这一点,如果两个值都为真,javascript将返回最后一个值&&
返回最后一个计算值的值。'&&'是一个运算符。大多数情况下,它是在这样的上下文中使用的
if ( something && somethingelse ) {}
换句话说
0 && 2 //would return 0 because 0 is a falsy value
12 && 10 && 0 && 100 // would return 0 to
10 && 123 && "abc" // returns "abc"
+
是一个数学运算符,但它可用于将字符串转换为数字
1 + 1 = 2
1 + '1' = 11 //van damme would like this one
1 + +'1' = 2 // somce '1' got converted to a number
这是两个非常独立的问题,可能应该分开。这是javascript而不是jQuery。我不认为这是一个简单的问题,但它是有效的。例如,您可以简单地使用parseInt('1')