1、 取数组中的数据,并对空值设置默认值:

常规写法:

let arr = [0, 1, null, '', 'abc'];
let newArr = [];
arr.forEach((item, index) => {
if (!item) {
newArr[index] = '我原来是空值';
} else {
newArr.push(item);
}
})

高逼格写法:

let arr = [0, 1, null, '', 'abc'];
let newArr = [];
arr.forEach((item, index) => {
newArr.push(item || item = '这种写法是不是很屌?'))
})

2、数值取整:

常规写法:

let num = 1.12;
let intNum = parseInt(num);

高逼格写法:

let num = 1.12;
let intNum; // 写法一:
intNum = num|0; // 写法二:
intNum = ~~num; // 写法三:
intNum = num^0; // 写法四
intNum = num << 0;

3、不用第三个参数交换两个变量的数值:

常规写法:

let num1 = 5, num2 = 6;
num1 = num1 + num2;
num2 = num1 - num2;
num1 = num1 - num2; // 常规写法二:
num1 ^= num2;
num2 ^= num1;
num1 ^= num2;

高逼格写法:(逼格高不高?)

// 写法一:
let num1 = 5, num2 = 6;
num1 = [num2, num2 = num1][0]; // 写法二:
[num1, num2] = [num2, num1];

4、函数参数默认值:

常规写法:

function fn(name) {
if (name) {
name = name;
} else {
name = '我是默认值';
}
}
// 常规写法二:
function fn(name) {
  name = name || '我是默认值';
  return name;
}

高逼格写法:

function fn(name = '我是默认值') {
return name;
}

以上写法法不仅逼格高,而且代码精简很多,可以说是居司开发必备良方啊!

几个简单js,普通写法和高逼格写法比较的更多相关文章

  1. js原生高逼格插件

    如何定义一个高逼格的原生JS插件 作为一个前端er,如果不会写一个小插件,都不好意思说自己是混前端界的.写还不能依赖jquery之类的工具库,否则装得不够高端.那么,如何才能装起来让自己看起来逼格更高 ...

  2. js实现未知宽高的元素在指定元素中垂直水平居中

    js实现未知宽高的元素在指定元素中垂直水平居中:本章节介绍一下如何实现未知宽高的元素在指定元素下实现垂直水平居中效果,下面就以span元素为例子,介绍一下如何实现span元素在div中实现水平垂直居中 ...

  3. js基础 1.简单js 语法 关键字 保留字 变量

    简单js JavaScript 是一个松散性的语言 对象属性却不想c中的结构体或者c++ 和java的对象, 对象继承机制 使用原型的prototype(原型链),js的分为三部分ECMAScript ...

  4. JS 关于(function( window, undefined ) {})(window)写法的理解

    JS 关于(function( window, undefined ) {})(window)写法的理解 [网络整理] (function( window, undefined ) {})(windo ...

  5. js自执行函数的常见写法

    js自执行函数的常见写法 2016-12-20 20:02:26 1.关于自执行函数 1.1 写自执行函数的好处:独立的作用域,不会污染全局环境 (function() { })(); 1.2 理解重 ...

  6. 简单JS全选、反选代码

    1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org ...

  7. js中的三种函数写法

    js中的三种函数写法 <script type="text/javascript"> //普通的声明方式 function myFun(m,n){ alert(m+n) ...

  8. python爬虫的一个常见简单js反爬

    python爬虫的一个常见简单js反爬 我们在写爬虫是遇到最多的应该就是js反爬了,今天分享一个比较常见的js反爬,这个我已经在多个网站上见到过了. 我把js反爬分为参数由js加密生成和js生成coo ...

  9. HTML+JS中网页跳转的写法

    1.html中使用meta中跳转,通过meta可以设置跳转时间和页面 <head> <!--只是刷新不跳转到其他页面 --> <meta http-equiv=" ...

随机推荐

  1. 重构 改善既有代码的设计 (Martin Fowler 著)

    第1章 重构, 第一个案例 1.1 起点 1.2 重构的第一步 1.3 分解并重组 statement() 1.4 运用多态取代与价格相关的条件逻辑 1.5 结语 第2章 重构原则 2.1 何谓重构 ...

  2. multer 基础教程(英文版)

    Multer is a node.js middleware for handling multipart/form-data, which is primarily used for uploadi ...

  3. Debug 路漫漫-15:Python: NameError:name 'dataset' is not defined

    在调试 <Outer Product-based Neural Collaborative Filtering>论文的源码(https://github.com/duxy-me/ConvN ...

  4. python-6-for循环及format三种用法

    前言 循环我们前面讲过了无限循环,那么for循环属于什么循环呢?显然就是有限循环: 另外格式化输出我们前面也讲过,但是format也能做到不一样的格式化输出.一起看看吧! 一.for 循环 1.fro ...

  5. 将服务器时间类型改为UTC(0000)

    方法一: # timedatectl  set-timezone UTC #  timedatectl set-time "YYYY-MM-DD HH:MM:SS" #  time ...

  6. mysql批量更新数据(性能优化) 第一种方式

    首先想到的是,一条一条更新的速度太慢了,然后就想批量更新,一次更新N条数据.实践是检验真理的唯一标准,不一会儿,代码就敲完了,重新试了一下,效果依旧不理想.啊哦,真是要崩溃!后面又想到了利用异步,我一 ...

  7. WPF xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"

    <Button Grid.Row="1" Content="Load Data" BorderBrush="Black" Border ...

  8. QT+OpenGL(03)--libpng库的编译

    1.zlib库的下载 http://www.zlib.net/ zlib1211.zip 2.libpng库的下载 https://libpng.sourceforge.io/index.html l ...

  9. windows小乌龟和git使用

    一.安装git for windows 首先下载git for windows客户端http://msysgit.github.io/ 安装过程没什么特别的,不停next就ok了     图太多就不继 ...

  10. VMware——虚拟机的安装

    VMware——虚拟机的安装 摘要:本文主要记录了虚拟机的安装过程. 下载 可以去官网或者其他可靠站点下载虚拟机的安装包. 这次用的版本是:VMware-workstation-full-14.1.7 ...