10个JavaScript代码使用技巧速览

 更新时间:2023年12月26日 09:43:53   作者:慕仲卿  
这篇文章主要为大家整理了10个JavaScript代码使用技巧,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下

借助构造函数和浮点数的误差来做数学运算

Number((0.1 + 0.2).toFixed(1)) === 0.3; // true

使用“摊平参数”和“apply”做参数不固定的最值查找

const nums = [5, 3, 9, 1, 6];
const maxNum = Math.max.apply(null, nums); // 9
const minNum = Math.min.apply(null, nums);     // 1

利用Array构造函数创建长度固定但值未定义的数组

const arrayOfUndefined = Array(3); // [undefined, undefined, undefined]

使用位运算符进行整数的快捷操作

// 快速地求平方
let i = 2;
let square = i << 1; // 等价于 i * 2 或 i ** 2

// 快速地从浮点数中丢弃小数部分取整
let floatNum = 3.15;
let intNum = floatNum | 0; // 3

利用void运算符来执行表达式且不返回结果

void function iife() {
  var localVar = 'I am not returned';
  console.log(localVar);
}();

console.log(typeof localVar); // undefined

使用逗号运算符链式执行多个表达式

let x = 1;
(x += 1, x *= 3);
console.log(x); // 6

使用标签模板语法进行高级字符串操作

function highlight(strings, ...values) {
  return strings.reduce((acc, str, i) => `${acc}${str}<mark>${values[i] || ''}</mark>`, '');
}

const name = "Alice";
const greeting = highlight`Hello there, ${name}`;
console.log(greeting); // "Hello there,<mark>Alice</mark>"

利用 IIFE 和闭包保存状态

var elems = document.querySelectorAll('select option:checked');
var values = Array.prototype.map.call(elems, function(obj){
  return obj.value;
});

使用数组解构来交换变量的值

let a = 1, b = 2;
[b, a] = [a, b];
console.log(a); // 2
console.log(b); // 1

使用逻辑或为函数参数提供默认值

function logName(name) {
  name = name || 'Unknown';
  console.log(name);
}
logName(); // 'Unknown'
logName('Alice'); // 'Alice'

到此这篇关于10个JavaScript代码使用技巧速览的文章就介绍到这了,更多相关JavaScript技巧内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • html5+canvas实现支持触屏的签名插件教程

    html5+canvas实现支持触屏的签名插件教程

    jq-signature.js是一个帮助你创建签名的jQuery插件,允许你的用户使用鼠标,手指或者铅笔生成签名。下面这篇文章主要给大家介绍了利用html5+canvas实现支持触屏的签名插件的相关资料,需要的朋友可以参考下。
    2017-05-05
  • js实现点击获取验证码倒计时效果

    js实现点击获取验证码倒计时效果

    这篇文章主要为大家详细介绍了js实现点击获取验证码倒计时效果,这种效果大家经常遇到,示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-10-10
  • Qt6基于Qml的文件对话框演示效果

    Qt6基于Qml的文件对话框演示效果

    这篇文章主要介绍了Qt6基于Qml的文件对话框演示,包括打开单个文件配置和打开多个文件配置及保存文件配置的方法,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • JavaScript实现动态表单生成

    JavaScript实现动态表单生成

    这篇文章主要来和大家一起深入探讨如何使用JavaScript实现一个动态表单生成器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下
    2024-01-01
  • 微信小程序wx.previewImage预览图片实例详解

    微信小程序wx.previewImage预览图片实例详解

    下面通过实例代码给大家讲解了微信小程序wx.previewImage预览图片功能,需要的朋友可以参考下
    2017-12-12
  • JavaScript小技巧 2.5 则

    JavaScript小技巧 2.5 则

    在上一篇文章中的(伪)Lambda模块中使用了几个小技巧,现在我就把这几个小技巧介绍一下
    2010-09-09
  • 一文搞懂JavaScript中原型与原型链

    一文搞懂JavaScript中原型与原型链

    js中的原型与原型链应该是老生常谈的话题了,在前端面试中基本都是必问的一个问题,但是很多人还是稀里糊涂的,只知道其表层含义。本文将带大家深入了解JavaScript中的原型与原型链,感兴趣的可以学习一下
    2022-10-10
  • ie与firefox下的event使用说明与详细区别

    ie与firefox下的event使用说明与详细区别

    event是ie自带的一个对象,而ff中不存在该对象,只能通过传递参数(并且惟一)的方式来实现event.
    2009-10-10
  • ES6 Object方法扩展的应用实例分析

    ES6 Object方法扩展的应用实例分析

    这篇文章主要介绍了ES6 Object方法扩展的应用,结合实例形式总结分析了ES6针对对象方法的扩展与优化,需要的朋友可以参考下
    2019-06-06
  • 微信小程序中选中手机相册图片上传到服务器的步骤

    微信小程序中选中手机相册图片上传到服务器的步骤

    这篇文章主要介绍了微信小程序中选中手机相册图片上传到服务器的步骤,现图片上传我们需要使用chooseImg和uploadFile这两个api,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2024-04-04

最新评论