javascript中各种风骚的代码

1.判断数值符号是否相同

c 复制代码
	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的整数幂

代码部分

ts 复制代码
	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))

输出如下

星级评分

ts 复制代码
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切换

typescript 复制代码
	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))

浮点数向下取整

typescript 复制代码
	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次幂

typescript 复制代码
	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

typescript 复制代码
	try {
	  //code
	} catch (error) {
	  location.href = `https://baidu.com/esarch?q=js+${error.message}`
	}

这个就不做演示啦哈

相关推荐
李妍.4 小时前
02Numpy基础(上)
开发语言·python
TheBestRucy4 小时前
Python 九阳神功之贰:面向对象(下)
开发语言·python
AI_小站5 小时前
刚面完百度的 Agent 开发岗,我才发现:世界就是个巨大的草台班子
java·开发语言·人工智能·spring·百度·langchain
felixking6 小时前
C++20 协程
开发语言·c++·协程
Zane1994127 小时前
CAS 与原子类:Java 如何实现无锁编程
java·开发语言
码农颜8 小时前
6.3 主函数流程剖析
开发语言·php
TheBestRucy8 小时前
Python 九阳神功:从零筑基到线程飞升
服务器·开发语言·网络·人工智能·python
研☆香8 小时前
聊一聊前端的常见字 关键字
开发语言·前端·javascript
草莓橙子碗9 小时前
Claude 使用指南
开发语言·python
longxiaozhang610 小时前
C# Array类:数组其实没那么难
开发语言·c#