本文主要是介绍javascript中各种风骚的代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.判断数值符号是否相同
function numericSymbolsIsEqual(x: number, y: number): boolean {return (x ^ y) >= 0}console.log(numericSymbolsIsEqual(1, 1))console.log(numericSymbolsIsEqual(-1, 1))console.log(numericSymbolsIsEqual(1, -1))console.log(numericSymbolsIsEqual(-1, -1))
输出如下
判断一个数n是否为2的整数幂
代码部分
function isPowerOfTwo(n: number): boolean {return (n & (n - 1)) === 0}console.log(isPowerOfTwo(4))console.log(isPowerOfTwo(5))console.log(isPowerOfTwo(6))console.log(isPowerOfTwo(1024))console.log(isPowerOfTwo(1021))
输出如下
星级评分
enum Score {veryPoor = 1,poor,ordinary,good,veryGood
}
function starRating(n: Score): string {return '★★★★★☆☆☆☆☆'.slice(5 - n, 10 - n)
}
console.log(starRating(Score.veryPoor))
console.log(starRating(Score.poor))
console.log(starRating(Score.ordinary))
console.log(starRating(Score.good))
console.log(starRating(Score.veryGood))
输出如下
0和1切换
function toggle(n: number): number {return n ^= 1}console.log(toggle(1))console.log(toggle(1))console.log(toggle(0))console.log(toggle(0))console.log(toggle(1))
浮点数向下取整
function roundDownDoubleNon(n: number): number {return ~~n}function roundDownRightShift(n: number): number {return n >> 0}function roundDownLeftShift(n: number): number {return n << 0}function roundDownOr(n: number): number {return n | 0}console.log(roundDownDoubleNon(Math.PI))console.log(roundDownRightShift(Math.PI))console.log(roundDownLeftShift(Math.PI))console.log(roundDownOr(Math.PI))
x乘2的y次幂
function getTwoYPower(x: number, y: number): number {return x << y}// 输出1乘2的2次方console.log(getTwoYPower(1, 2))// 输出2乘2的3次方console.log(getTwoYPower(2, 3))// 输出3乘2的2次方console.log(getTwoYPower(3, 2))
让天底下的代码再也没有bug
try {//code} catch (error) {location.href = `https://baidu.com/esarch?q=js+${error.message}`}
这个就不做演示啦哈
这篇关于javascript中各种风骚的代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!