我不明白 >>= 是什么意思(我以为大于或等于是 >=),还有下面的 (times & 1) 是什么。
function repeat (string, times) {
var result = ''
while (times > 0) {
if (times & 1) result += string
times >>= 1
string += string
}
return result
}
我不明白 >>= 是什么意思(我以为大于或等于是 >=),还有下面的 (times & 1) 是什么。
function repeat (string, times) {
var result = ''
while (times > 0) {
if (times & 1) result += string
times >>= 1
string += string
}
return result
}
>>=
是右移并赋值的操作符,详情请见这里。 >>= 1
等同于整数除以2。
&
是按位与的操作符,详情请见这里。 time & 1
等同于判断时间是否为奇数。
如需了解更多JavaScript运算符,请参阅此处:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators
=
在那里... 这甚至让我感到困惑。 - Zizouz212times >>=1
是一种简写方式,与times = times >> 1
相同。类似于a += b
(a = a + b
) 的语法。 - user1375096function repeat(string,times) {return new Array(times+1).join(string);}
就足够了... - Niet the Dark Absol