教你如何用 JS 强行装逼,有些想都想不到

文/北妈 (转自微信:https://mp.weixin.qq.com/s/bGz3HXPCnSV5khkPqBAv7w)

阅读本文需要 3.5分钟

今天北妈来点收藏干货,以下代码部分来自网络总结,我们总追求简短有效的方式,有时候一行代码的奇技淫巧能带来很多代码篇幅减少

单行简洁的代码很难维护(有时甚至难以理解),但这并不能阻止广大攻城狮们脑洞,在编写简洁的代码后获得一定的满足感。

当然有的代码除了看起来装逼,并没有什么用,还增加了阅读难度。

原文: 12 Amazing JavaScript Shorthand Techniques

1. 空(null, undefined)验证

当我们创建了一个新的变量,我们通常会去验证该变量的值是否为空(null)或则未定义(undefined)。这对于 JavaScript 编程来说,是一个经常要考虑到的验证。

如果直接写,那么像下面这样:

if (variable1 !== null || variable1 !== undefined || variable1 !== "") {
 let variable2 = variable1;
} 

我们可以使用一个更加简洁的版本:


let variable2 = variable1 || ""; 

如果你不信,在谷歌浏览器开发者面板的控制台下试试!

2. 如何优雅的表示大数字

在 JavaScript 中,有一个简写数字的方法,也许你忽略了。1e7表示 10000000。

简化前:

for (let i = 0; i < 10000; i++) { 

简化后:

for (let i = 0; i < 1e7; i++) { 

3. 函数调用还可以更短

简化前:

function x() {
 console.log("x");
}
function y() {
 console.log("y");
}
let z = 3;
if (z == 3) {
 x();
} else {
 y();
} 

简化后:

function x() {
 console.log("x");
}
function y() {
 console.log("y");
}
let z = 3;
(z == 3 ? x : y)(); 

你说四不四很短?

3.1. 另外一种undefined

var data = void 0; // undefined

4.论如何优雅的向下取整

var a = ~~2.33 //这种方法还可以将字符串转换成数字类型var b= 2.33 | 0var c= 2.33 >> 0

5.如何装逼用代码骂别人SB

(!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]]

6.如何用代码优雅的证明自己NB

([][[]]+[])[+!![]]+([]+{})[!+[]+!![]]

以下我最近的一些收藏javascript精简代码集合。它们都可以在你的开发控制台中运行,你可以从控制台中查看运行结果。

作者:megatron
https://juejin.im/post/5cc55eb5e51d456e577f93f0

1.日历

创建过去七天的数组,如果将代码中的减号换成加号,你将得到未来7天的数组集合

[...Array(7).keys()].map(days =>  new  Date(Date.now()  -  86400000  * days));

2.生成随机ID

在原型设计时经常使用的创建ID功能。但是我在实际项目中看到有人使用它。其实这并不安全

 Math.random().toString(36).substring(2);

3.获取URL的查询参数

这个获取URL的查询参数代码,是我见过最精简的 QAQ

?foo=bar&baz=bing => {foo: bar, baz: bing}
q={};location.search.replace(/([^?&=]+)=([^&]+)/g,(_,k,v)=>q[k]=v);q;

4.本地时间

通过一堆HTML,您可以创建一个本地时间,其中包含您可以一口气读出的源代码,它每秒都会用当前时间更新页面

<body  onload="setInterval(()=>document.body.innerHTML=new Date().toLocaleString().slice(10,19))"></body>

5.数组混淆

随机更改数组元素顺序,混淆数组

(arr)  => arr.slice().sort(()  =>  Math.random()  -  0.5)

6.生成随机十六进制代码(生成随机颜色)

使用JavaScript简洁代码生成随机十六进制代码

'#'  +  Math.floor(Math.random()  *  0xffffff).toString(16).padEnd(6,  '0');`

7.一个面试题

这是一个臭名昭著的面试题,让你写出他的运行结果,受不了~

for(i=0;++i<101;console.log(i%5?f||i:f+'Buzz'))f=i%3?'':'Fizz'

8.数组去重

这是一个原生的JS函数但是非常简洁,Set接受任何可迭代对象,如数组[1,2,3,3],并删除重复项

[...new  Set(arr)]

9.创建特定大小的数组

方便快捷创建特定大小的数组

[...Array(3).keys()]

10.返回一个键盘(惊呆了)

这是一个很难看懂的简洁代码,但是运行后你会惊呆的,他竟然返回一个图形键盘

(_=>[..."`1234567890-=~~QWERTYUIOP[]\\~ASDFGHJKL;'~~ZXCVBNM,./~"].map(x=>(o+=`/${b='_'.repeat(w=x<y?2:' 667699'[x=["BS","TAB","CAPS","ENTER"][p++]||'SHIFT',p])}\\|`,m+=y+(x+'    ').slice(0,w)+y+y,n+=y+b+y+y,l+=' __'+b)[73]&&(k.push(l,m,n,o),l='',m=n=o=y),m=n=o=y='|',p=l=k=[])&&k.join``)()

这是它的打印结果:

image

惊呆不,不得不说有才的人真多!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343