十个JavaScript 开发者需要学习掌握的技巧

更新日期: 2022-04-16阅读: 840标签: js技巧

1、三元表达式

JavaScript 中的三元表达式的语法类似于条件 if part_1 else part_2。例如,让我们看一下以下代码片段:

x = 10
x % 2 == 0? console.log("even") : console.log("odd");
// even

2、快速实现检查数据类型

通常我们会想要检查变量的数据类型,这里有一个函数可以让您轻松完成!

function checkDat(tgt, type_input) {
    const type = Object.prototype.toString.call(tgt).replace(/\[object (\w+)\]/, "$1").toLowerCase();
    return type_input ? type === type_input : type;
}
console.log(checkDat("test")); // "string"
console.log(checkDat(1)); // "number"
console.log(checkDat(true)); // "boolean"
console.log(checkDat([], "array")); // true
console.log(checkDat({}, "array")); // false

3、检查空数组

有一种快速的方法可以检查数组是否为空或空!

const arr = [];
const flag = Array.isArray(arr) && !arr.length;
const arr_1 = [1];
const flag1 = Array.isArray(arr_1) && !arr_1.length;
console.log(flag);
// true
console.log(flag1);
// false

4、Short Circuit

当变量评估为真时,使用它执行某些操作:

function something() {
  console.log("Hello");
}
const flag = false;  
!flag && something();
// Hello
const flag1 = true;  
!flag1 && something();
// Nothing

5、 合并数组

轻松合并两个数组!

var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
var arr = [...arr1, ...arr2];
console.log(arr);
//[0, 1, 2, 3, 4, 5];

6、删除数组中的重复项

使用 Set 在一行中删除数组中的重复项:

const arr = [...new Set([0, 1, 1, 2, 2])];
console.log(arr);
// arr => [0, 1, 2]

7、 没有临时变量的交换变量

如标题:在一行中交换变量:

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

8、过滤掉空值

在一行中过滤掉所有与 null 相关的值(Nah、undefined、null、")!:

const arr = [undefined, null, "", 0, false, NaN, 1, 2, "String"].filter(Boolean);
console.log(arr);
// [ 1, 2, 'String' ]

9、合并对象

我们不仅可以在一行中合并两个数组,还可以对对象进行合并!

const obj1 = { a: 0, b: 1, c: 2 };
const obj2 = { c: 3, d: 4, e: 5 };
const obj = { ...obj1, ...obj2 };
console.log(obj)
// { a: 0, b: 1, c: 3, d: 4, e: 5 }

10、一行生成随机数

让我们在一行中生成随机数:

const RandomNum = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min;
const num = RandomNum(1, 10);  
console.log(num);
// 6 for example

写在最后

以上就是我今天跟你分享的10关于JavaScript的技巧,希望你能学到一些新知识,并且将它应用到你的实际开发中!

链接: https://fly63.com/article/detial/11405

通过原生js判断网页图片是否已加载成功的方法总汇

在写网页的程序的时候,经常碰到要在网页加载完全之后再去展现页面,加载中的时候通过显示loading...的样式。这时候我们会直接想到使用window.onload的方式,或者是img对象的complete属性

JavaScript 异步调用——从小小题目逐步走进 JavaScript 异步调用

async/await 语法让异步调用写起来像写同步代码,在编写代码的时候,可以避免逻辑跳跃,写起来会更轻松。

UglifyJS3的使用,UglifyJS3中文文档

使用UglifyJS合并/压缩JavaScript ,UglifyJS3与UglifyJS2相比API变动较大,简化较多,文档也增加了不少示例。

不用if撸代码,是件很有趣的事。

试着不用if撸代码,是件很有趣的事,而且,万一你领会了什么是“数据即代码,代码即数据”呢?

带你理解 JS 容易出错的坑和细节

本文重在列出并解释说明 JS 中各种容易出错的坑和细节,供大家更加深入理解为什么 JS 会这样

一行能装逼的JavaScript代码

一行能装逼的JavaScript代码,其实靠的是js的类型转化的一些基本原理,本篇就来揭密”sb”是如何炼成的。相信你如果能把这个理清楚了,以后遇到类型转化之类的题目,就可以瞬间秒杀了。

JavaScript:处理值为undefined的7个技巧

学习JavaScript时,当时我对于undefined 和 null 比较困惑 ,因为他们都表示空值。他们有什么明确的区别吗?他们似乎都可以定义一个空值,而且 当你进行 在做null ===undefined 的比较时,结果是true。

js中一些怪异的写法_神奇的JavaScript

JavaScript是一门伟大的语言,作为一门弱类型语言,它拥有非常简洁的语法,庞大的生态系统,灵活性非常强大。js各种神奇的写法,所谓的神奇也就是罕见。下面就开始介绍这些怪异的写法吧。

js方式实现手机号码隐藏中间4位

在前端开发中,遇到如下需求:隐藏手机号码,将中间几位替换为*。通过js如何实现手机号码隐藏中间4位呢?下面整理几种实现方式:使用正则、通过长度截取。

js实现浏览器:加入收藏、设为首页、保存到桌面的方法功能

在一些网页中我们可以常见的“设置为首页”和“ 收藏本站”,以及“保存到桌面”等功能,使用js是如何实现的呢?这里为大家分享下实现方法,完美兼容IE,chrome,ff等浏览器

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!