几个简单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=" ...
随机推荐
- 【解决错误】Non-reversible reg-exp portion: '(?i'
在将Django升级到2.1后,运行 Django 自带后台后,或 使用 redirect 方法,就一直报错:Non-reversible reg-exp portion: '(?i'. 错误一 Dj ...
- CSS选择器[attribute | = value] 和 [attribute ^ = value]的区别
前言 首先你需要知道[attribute | = value] 和 [attribute ^ = value] 分别是什么? ①:[attribute | = value] ②:[attribute ...
- Mysql 查询表字段数量
select count(*) from information_schema.`COLUMNS` where TABLE_SCHEMA='dbName' -- 数据库名 and TABLE_NAME ...
- Entity Framework 6 中如何获取 EntityTypeConfiguration 的 Edm 信息?(三)
接着上一篇,我们继续来优化. 直接贴代码了: LambdaHelper.cs using System; using System.Collections.Generic; using System. ...
- Spring Cloud Feign 服务消费调用(三)
序言 Spring Cloud Netflix的微服务都是以HTTP接口的形式暴露的,所以可以用Apache的HttpClient或Spring的RestTemplate去调用 而Feign是一个使用 ...
- 【04】Nginx:rewrite / if / return / set 和变量
写在前面的话 我们前面已经谈了编译安装,基本语法,日志处理,location 匹配,root / alias 的不同效果.这里我们主要谈谈 rewrite(重写)功能,顺便说说 nginx 中自带的变 ...
- List的Clear方法与RemoveAll方法用法小结
转自:https://blog.csdn.net/yl2isoft/article/details/17059093 结果分析 执行List的Clear方法和RemoveAll方法,List将清除指定 ...
- python算法题 python123网站单元四题目
目录 一:二分法求平方根 二:Collatz猜想 三:算24(只考虑满足,不考虑把所有情况找出来) 下面向大家介绍几个python算法题. 一:二分法求平方根 1.题目要求为 2.输入输出格式为 ...
- Python项目中使用配置文件
一些讨论 Python中使用配置文件的最佳实践 Python中使用配置文件的最好方法 Python符号常量 多种配置文件方案对比 我的建议 1. 排除yaml yaml 不是一个好主意, 因为需要给项 ...
- 虚拟机中安装Kali遇到的问题及解决方法
title: 虚拟机中安装Kali遇到的问题及解决方法 date: 2018-11-25 12:25:43 tags: 安全 --- 关于Kali版本选择 kail官方下载页面 虚拟机中当然就下载虚拟 ...