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}`
	}

这个就不做演示啦哈

相关推荐
跨境数据猎手20 分钟前
反向海淘实战|独立站搭建+国内电商API对接
开发语言·爬虫·架构
没钥匙的锁11 小时前
05-Java面向对象构造器与封装
java·开发语言
仙人球部落1 小时前
-python-LangGraph框架(3-31-LangGraph 「合并式状态管理」的原理与实践)
开发语言·javascript·python
2401_894915531 小时前
Geo搜索优化排名源码部署搭建全流程详解
android·开发语言·flask·php·精选
chouchuang2 小时前
day-025-面向对象-上
开发语言·python
sunfdf2 小时前
Next.js 新手从零部署到首跑实战指南
开发语言·javascript·ecmascript
SmartBoyW2 小时前
前端死磕:一文彻底搞懂 JS 事件循环 (Event Loop) 与宏微任务
前端·javascript
hold?fish:palm3 小时前
从源码到可执行文件:C++程序的编译过程
开发语言·c++
mONESY3 小时前
基于MCP协议搭建全链路智能Agent:地图检索+浏览器自动化+本地文件操控实战
javascript
随性而行3603 小时前
微信API接口与AI自动化:开发者的实现思路
运维·服务器·开发语言·人工智能·微信·自动化