几个简单js,普通写法和高逼格写法比较
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,普通写法和高逼格写法比较的更多相关文章
- js原生高逼格插件
如何定义一个高逼格的原生JS插件 作为一个前端er,如果不会写一个小插件,都不好意思说自己是混前端界的.写还不能依赖jquery之类的工具库,否则装得不够高端.那么,如何才能装起来让自己看起来逼格更高 ...
- js实现未知宽高的元素在指定元素中垂直水平居中
js实现未知宽高的元素在指定元素中垂直水平居中:本章节介绍一下如何实现未知宽高的元素在指定元素下实现垂直水平居中效果,下面就以span元素为例子,介绍一下如何实现span元素在div中实现水平垂直居中 ...
- js基础 1.简单js 语法 关键字 保留字 变量
简单js JavaScript 是一个松散性的语言 对象属性却不想c中的结构体或者c++ 和java的对象, 对象继承机制 使用原型的prototype(原型链),js的分为三部分ECMAScript ...
- JS 关于(function( window, undefined ) {})(window)写法的理解
JS 关于(function( window, undefined ) {})(window)写法的理解 [网络整理] (function( window, undefined ) {})(windo ...
- js自执行函数的常见写法
js自执行函数的常见写法 2016-12-20 20:02:26 1.关于自执行函数 1.1 写自执行函数的好处:独立的作用域,不会污染全局环境 (function() { })(); 1.2 理解重 ...
- 简单JS全选、反选代码
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org ...
- js中的三种函数写法
js中的三种函数写法 <script type="text/javascript"> //普通的声明方式 function myFun(m,n){ alert(m+n) ...
- python爬虫的一个常见简单js反爬
python爬虫的一个常见简单js反爬 我们在写爬虫是遇到最多的应该就是js反爬了,今天分享一个比较常见的js反爬,这个我已经在多个网站上见到过了. 我把js反爬分为参数由js加密生成和js生成coo ...
- HTML+JS中网页跳转的写法
1.html中使用meta中跳转,通过meta可以设置跳转时间和页面 <head> <!--只是刷新不跳转到其他页面 --> <meta http-equiv=" ...
随机推荐
- A1063 Set Similarity (25 分)
一.技术总结 这个题目是属于set容器的内容,使用可以减少很多代码量 开始试过在同一个for循环中定义两个auto,结果编译通不过,有时候构思很重要,就比如这一题,开始我是一个一个去加,而代码中是,先 ...
- Codeforces Round #596 (Div. 2, based on Technocup 2020 Elimination Round 2) D. Power Products 数学 暴力
D. Power Products You are given n positive integers a1,-,an, and an integer k≥2. Count the number of ...
- 深挖计算机基础:Linux性能优化学习笔记
参考极客时间专栏<Linux性能优化实战>学习笔记 一.CPU性能:13讲 Linux性能优化实战学习笔记:第二讲 Linux性能优化实战学习笔记:第三讲 Linux性能优化实战学习笔记: ...
- Ubuntu上的apt/apt-get等命令的实质意义和区别
Ubuntu上的apt/apt-get等命令的实质意义和区别 一.前言 在使用apt和apt-get命令的时候我们常常会疑惑这两者有什么区别,因为大多数时间这两个命令能做很多相同的事情. 二.APT/ ...
- ElementUI中如何实现Form表单内的文字居中
<el-table :data='orderList' border stripe :align='center' :cell-style='cellStyle' :header-cell-st ...
- 明解JAVA 第二章答案
练习2-1 编译错误,无法运行. 练习2-2 package candle1220; class Nightwatch{ public static void main(String[] args) ...
- sierpinski垫片(3D)[误]
今天是因为可以用py而高兴的一天. 昨天老板淡淡地回了一句,sierpinski地毯画得挺好的. 我思考了五秒钟之后,想起来作业其实是sierpinski垫片. 三角垫片比地毯难做多了. 因为 ...
- redis延迟队列
异步消息队列 Redis 的 list(列表) 数据结构常用来作为异步消息队列使用,使用rpush/lpush操作入队列, 使用 lpop 和 rpop 来出队列. > rpush notify ...
- SAP-简单的OALV演示练习
接上一篇传统ALV:https://www.cnblogs.com/BruceKing/p/11320165.html. 首先介绍下什么是ALV,在R/3 4.6C之前ALV全称为ABAP List ...
- 4、Ext.NET 1.7 官方示例笔记 - 树
<%@ Page Language="C#" %> <%@ Import Namespace="System.Collections.Generic&q ...