【JS】前端编程8个小技巧(一)

news2024/10/3 0:24:29

文章目录

  • 1.判断两个数是不是符号相同
    • 函数书写
    • 运算结果
  • 2.判断一个数n是不是2的整数次幂
    • 函数书写
    • 运算结果
  • 3.倒序遍历简写
    • 函数书写
    • 运算结果
  • 4.快速得到一个星级评分
    • 函数书写
    • 运算结果
  • 5.在程序抛出异常时快速切换搜索引擎
    • stackoverflow的人机验证界面
    • 函数书写
    • 示例
    • 检索结果
      • stackoverflow检索结果
      • 知乎检索结果
      • Quora 检索结果
      • GitHub 检索结果
  • 6.让数字在1和0之间来回切换
    • 函数书写
    • 运算结果
  • 7.求一个数的整数部分的几种写法
    • 函数书写
    • 运算结果
  • 8.得到一个数乘以2的n次幂
    • 函数书写
    • 运算结果


1.判断两个数是不是符号相同

函数书写

/**
 * 判断两个数是不是符号相同
 * @param {number} a
 * @param {number} b
 * @return {string}
 */
function checkSymbol(a,b){
  if((a ^ b) >= 0){
    return '符号相同';
  }
  else{
    return '符号不同';
  }
}
console.log(checkSymbol(-3,5));//符号不同
console.log(checkSymbol(-3,-5));//符号相同
console.log(checkSymbol(3,5));//符号相同
console.log(checkSymbol(3,-5));//符号不同

运算结果

符号不同
符号相同
符号相同
符号不同

2.判断一个数n是不是2的整数次幂

函数书写

/**
 * 判断一个数n是不是2的整数幂
 * 如果n &(n-1) 等于 0, n是2的整数幂
 * @param {number} n
 * @return {boolean}
 */

function isPowerOf2(n){
  return (n & (n - 1)) === 0;
}
console.log(isPowerOf2(4));//true
console.log(isPowerOf2(15));//false
console.log(isPowerOf2(16));//true
console.log(isPowerOf2(256));//true
console.log(isPowerOf2(250));//false

运算结果

true
false
true
true
false

3.倒序遍历简写

函数书写

/**
 * 倒序遍历简写
 * @param {Array} arr
 */
function readDesc(arr){
  // 倒序遍历
  for(let i = arr.length - 1; i >= 0; i--){
    //console.log(arr[i]);
  }
  // 可简写为
  for(let i = arr.length; i--;){
    console.log(arr[i]);
  }
}

readDesc([1,2,3,4,5,6,7,8]);

运算结果

8
7
6
5
4
3
2
1

4.快速得到一个星级评分

函数书写

/**
 * 快速得到一个星级评分
 * @param {number} r
 * @return {string}
 */
function rate(r) {
  return '★★★★★☆☆☆☆☆☆'.slice(5 - r, 10 - r);
}

console.log(rate(0));//☆☆☆☆☆
console.log(rate(1));//★☆☆☆☆
console.log(rate(2));//★★☆☆☆
console.log(rate(3));//★★★☆☆
console.log(rate(4));//★★★★☆
console.log(rate(5));//★★★★★

运算结果

☆☆☆☆☆
★☆☆☆☆
★★☆☆☆
★★★☆☆
★★★★☆
★★★★★

5.在程序抛出异常时快速切换搜索引擎

使用https://stackoverflow.com/search?q=进行问题检索时,需要进行人机验证,如果没有出现人机验证页面,肯能你大概率是遇到了,此时你可以使用梯子或者别的搜索引擎进行问题检索。

以下是常用的检索地址,其中%s是需要替换的关键字。

  • 知乎: https://www.zhihu.com/search?type=content&q=%s
  • Quora: https://www.quora.com/search?q=%s
  • Github: https://github.com/search?q=%s
  • stackoverflow: https://stackoverflow.com/search?q=%s

stackoverflow的人机验证界面

在这里插入图片描述

函数书写

function demo1() {
  try{
    // any code
  } catch (e) {
    location.href = `https://stackoverflow.com/search?q=js+${e.message}`;
  }
}

示例

function demo1() {
  try{
    // any code
    let n = 0;
    let v = 1/n;
    console.log(v.length.Array);
  } catch (e) {
    location.href = `https://stackoverflow.com/search?q=js+${e.message}`;
  }
}
demo1();

检索结果

stackoverflow检索结果

在这里插入图片描述

知乎检索结果

在这里插入图片描述

Quora 检索结果

在这里插入图片描述

GitHub 检索结果

在这里插入图片描述


6.让数字在1和0之间来回切换

函数书写

/**
 * 让数字在1和0之间来回切换
 */
function demo2(){
  let toggle = 0;
  toggle ^= 1; // toggle: 1
  console.log(toggle);
  toggle ^= 1; // toggle: 0
  console.log(toggle);
  toggle ^= 1; // toggle: 1
  console.log(toggle);
}
demo2();

运算结果

1
0
1

7.求一个数的整数部分的几种写法

函数书写

/**
 * 求一个数的整数部分的几种写法(一)
 * 使用双取反或按位非(Bitwise NOT)
 * @param {Number} d
 * @returns {Number}
 */
function mod1(d) {
  return  ~~ d ;
 }
 
/**
 * 求一个数的整数部分的几种写法(二)
 * 使用右移位运算符(Right Shift)
 * @param {Number} d
 * @returns {Number}
 */
function mod2(d) {
  return d >> 0;
 }

 /**
 * 求一个数的整数部分的几种写法(三)
 * 使用左移位运算符(Left Shift)
 * @param {Number} d
 * @returns {Number}
 */
function mod3(d) {
  return d << 0;
 }

 /**
 * 求一个数的整数部分的几种写法(四)
 * 使用按位或运算符(Bitwise OR)
 * @param {Number} d
 * @returns {Number}
 */
function mod4(d) {
  return d | 0; 
 }

 console.log(mod1(3.14));// 3
 console.log(mod2(3.14));// 3
 console.log(mod3(3.14));// 3
 console.log(mod4(3.14));// 3

运算结果

3
3
3
3

8.得到一个数乘以2的n次幂

函数书写

/**
 * 得到一个数乘以2的n次幂
 * @param {Number} n
 * @returns {Number}
 */
function power2(n) {
  return 1 << n ;
 }

 console.log(power2(2));// 4
 console.log(power2(3));// 8
 console.log(power2(4));// 16

运算结果

4
8
16

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/836125.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

发现全新TNAS Mobile 3,畅享铁威马NAS的乐趣!

千呼万唤始出来&#xff0c;铁威马全新TNAS mobile 3.2.18正式上线啦&#xff01;新增超实用的功能&#xff0c;搭配全新的更合理美观的 UI。往下看&#xff0c;给大家带来全新的移动存储管理体验&#xff01; 注意事项 目前TNAS mobile 3.2.18仅限于在安卓手机上运行&#xf…

MyBatis源码剖析之Configuration、SqlSession、Executor、StatementHandler细节

文章目录 概述源码剖析-初始化ConfigurationMappedStatement 源码剖析-执行SQL流程SqlSessionSqlSessionFactoryDefaultSqlSession 源码剖析-ExecutorBaseExecutorSimpleExecutor 源码剖析-StatementHandlerParameterHandlerStatementHandlerResultSetHandler 概述 MyBatis是一…

【李宏毅机器学习·学习笔记】Tips for Training: Batch and Momentum

本节课主要介绍了Batch和Momentum这两个在训练神经网络时用到的小技巧。合理使用batch&#xff0c;可加速模型训练的时间&#xff0c;并使模型在训练集或测试集上有更好的表现。而合理使用momentum&#xff0c;则可有效对抗critical point。 课程视频&#xff1a; Youtube&…

如何应对批发与零售行业的致命危机?附解决方法!

随着科技的不断进步和消费者行为的变化&#xff0c;批发和零售行业正迫切需要进行数字化转型升级&#xff0c;以应对日益激烈的竞争压力和市场变革。这一转型势在必行&#xff0c;但是该行业面临诸多痛点。因此&#xff0c;企业需要寻找适合自己的解决方案&#xff0c;以应对数…

【前端实习生备战秋招】—HTML 和 CSS面试题总结(三)

【前端实习生备战秋招】—HTML 和 CSS面试题总结&#xff08;三&#xff09; 1.行内元素有哪些&#xff1f;块级元素有哪些&#xff1f; 空(void)元素有那些&#xff1f; CSS 规范规定&#xff0c;每个元素都有 display 属性&#xff0c;确定该元素的类型&#xff0c;每个元素…

更新页面无法回显

需求与问题&#xff1a; 在菜品管理开发中&#xff0c;我需要修改菜品&#xff0c;第一步是回显页面&#xff0c;但在我再三确认代码无误的情况下依旧无法回显内容 问题发现与解决&#xff1a; 经过排查&#xff0c;我发现我的DishDTO内容如下&#xff1a; Data public clas…

Vue 路由 router 配置(四)

一、下载 router 组件 1.1 删除文件 先把第三小节里面默认生成的文件删除干净&#xff0c;只剩下 main.js 和 App.vue&#xff0c;内容如下所示&#xff1a; import Vue from vue import App from ./AppVue.config.productionTip false;new Vue({el: #app,components…

公司/设计院文件数据防泄密系统「图纸加密软件」

图纸防泄密系统是指对企业电脑文件图纸数据透明加密防护的系统软件&#xff0c;可以防止公司内部数据泄密&#xff0c;通过动态加解密技术&#xff0c;有效防止公司内部数据泄密。即员工在创建、编辑文档时会被自动加密存放在硬盘上&#xff0c;防止员工故意或由于疏忽而造成泄…

深入剖析java字节码

目录 1.Demo源码 2.字节码 3.class文件反编译java文件 4.字节码结构 4.1 魔数 ​编辑4.2 版本号 4.3 常量池 4.3.1 常量池计数器 4.3.2 常量池表 ​编辑4.3.3 常量类型和结构 4.3.4 常量解读 5.访问标识 6.类索引、父类索引、接口索引 7.字段表集合 8.方法表集合…

揭秘微信聊天框隐藏的实用功能

揭秘微信聊天框隐藏的实用功能 微信聊天框一直是我们日常沟通的重要工具&#xff0c;但你是否知道它隐藏着一些实用功能&#xff1f;让我们一起揭秘微信聊天框中那些鲜为人知的功能&#xff0c;为你的聊天体验增添便利和乐趣&#xff01; 发现更多精彩&#xff0c;长按聊天框带…

活动隔断在现在酒店运用的方式

活动隔断是一种在酒店内部划分空间的方式&#xff0c;用于实现不同活动的隔离和隐私。现代酒店常用的活动隔断方式有以下几种&#xff1a; 1. 固定隔断&#xff1a;使用墙体、固定屏风或者板材等材料&#xff0c;将空间划分为不同的房间或区域。这种方式常用于划分客房、会议室…

Pytorch使用VGG16模型进行预测猫狗二分类

目录 1. VGG16 1.1 VGG16 介绍 1.1.1 VGG16 网络的整体结构 1.2 Pytorch使用VGG16进行猫狗二分类实战 1.2.1 数据集准备 1.2.2 构建VGG网络 1.2.3 训练和评估模型 1. VGG16 1.1 VGG16 介绍 深度学习已经在计算机视觉领域取得了巨大的成功&#xff0c;特别是在图像分类任…

etcd 基础使用

etcd Go 操作 Etcd 参考 go get go.etcd.io/etcd/client/v3民间文档&#xff1a;http://www.topgoer.com/%E6%95%B0%E6%8D%AE%E5%BA%93%E6%93%8D%E4%BD%9C/go%E6%93%8D%E4%BD%9Cetcd/%E6%93%8D%E4%BD%9Cetcd.html 官方文档&#xff1a;https://github.com/etcd-io/etcd/blob…

如何把pdf转成cad版本?这种转换方法非常简单

将PDF转换成CAD格式的优势在于&#xff0c;CAD格式通常是用于工程设计和绘图的标准格式。这种格式的文件可以在计算机上进行编辑和修改&#xff0c;而不需要纸质副本。此外&#xff0c;CAD文件通常可以与其他CAD软件进行交互&#xff0c;从而使得工程设计和绘图过程更加高效和精…

5款无广告的超实用软件,建议收藏!

​ 大家好,我又来了,今天向大家推荐几款软件,它们有个共同的特点,就是无广告、超级实用,大家看完之后,可以自己去搜索下载试用。 1.重复文件清理——Duplicate Cleaner ​ Duplicate Cleaner是一款用于找出硬盘中重复文件并删除的工具。它可以通过内容或文件名查找重复文档、…

面试必考精华版Leetcode104. 二叉树的最大深度

题目&#xff1a; 代码&#xff08;首刷自解 day23&#xff09;&#xff1a; class Solution { public:int maxDepth(TreeNode* root) {if(rootnullptr) return 0;return max(maxDepth(root->left),maxDepth(root->right))1;} };

安超云参与编制的《上云指导:云基础环境框架(Landing Zone)设计与应用》白皮书正式发布

近日&#xff0c;由中国信息通信研究院牵头&#xff0c;阿里云、中国移动、安超云等单位共同编制的业界首个第三方视角的《上云指导&#xff1a;云基础环境框架&#xff08;Landing Zone&#xff09;设计与应用》白皮书正式发布。 白皮书从云基础环境框架 Landing Zone 背景、内…

反诈:吴明军、黄亮领导的WIN生活资金盘,大家警惕防范此类诈骗

消息已经证实&#xff01;“米粒”无法变现&#xff0c;数以万计的会员深套“315万民商城”&#xff0c;维权艰难&#xff0c;血汗钱无法讨回。 其实这一点笔者并不感到太意外&#xff0c;因为万民商城资金传销盘的定性之前就已经发文揭露过&#xff0c;并反复提醒大家小心警惕…

制造型企业如何实现车间设备生产数据的实时采集?需要5G网络吗?

引言 在制造业数字化转型的浪潮下&#xff0c;实时采集车间设备生产数据变得尤为重要。工业边缘网关HiWoo Box作为一款专为工业应用而设计的智能设备&#xff0c;具备工业级设计和多种联网方式&#xff0c;为制造型企业提供了高性能的车间设备数据实时采集解决方案。本文将重点…

ChatGPT3.5——AI人工智能是个什么玩意?

ChatGPT3.5——AI人工智能 AI人工智能什么是AI&#xff1f;AI有什么过人之处AI有什么缺点 AI的发展AI的发展史中国是如何发展AI的 AI六大要素感知理解推理学习交互 ChatCPT-3.5GPT-3.5的优势在哪里GPT-3.5的风险GPT-4骗人事件 AI人工智能 AI&#xff0c;就像是一位超级聪明的机…