我目前正在阅读Eloquent Javascript,这种情况不断出现:
*=
在上下文中:
function power(base, exponent) {
if (exponent == undefined)
exponent = 2;
var result = 1;
for (var count = 0; count < exponent; count++)
result *= base;
return result;
}
console.log(power(4));
// → 16
console.log(power(4, 3));
// → 64
我是初学者所以请解释好像我是一个5岁(不太远)。谢谢
答案 0 :(得分:0)
x *= y
是一个赋值运算符,它只是x = x * y
有很多类似的运算符,例如x += y
更常见。
答案 1 :(得分:-2)
这是一个简短的功能。
x += 1;
x = x + 1; //This is equivalent to the first variable declaration.
同样如此:
result *= base;
与:
相同result = result * base;
有几个快捷操作符,如&#34; +&#34;,&#34; - &#34;,&#34; *&#34;,以及最近添加的&#34; **& #34 ;.最后一个是指数运算符。
2 ** 3 === 2 * 2 * 2; // '===' means strict equivalence (value and type).
result **= base === result = result ** base;
在你写的循环中:
for(let i = 0; i < 20; i++) {
/*
* Do something
* That 'i++ is just a shortcut (syntactic sugar) of 'i = i + i'.
* By the way, the 'let' variable means 'i'
* will only be available inside the loop. If you try to
* console.log(i) outside of it, the compiler will return 'undefined'.
*/
}