分享几个实用的单行 JS 代码


本文摘自PHP中文网,作者Guanhui,侵删。

单行代码极难维护(有时甚至很难理解),但这都无法阻止它们非常酷。完成编写一个极简解决方案后,你一定会很满足的。

这有一些我最近心爱的收藏。它们都可以直接在你的开放控制台中运行,来试试吧。我希望你也可以在评论中分享你喜欢的代码。

1. 日历黑客

Ali Spittel 推送了 最近动态。它解决了一个我多次面对的问题。如果你把减号换成加号,它会给你接下来七天的日子。

1

2

// 创建一个过去七天的数组,包含

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

2. 随机生成 ID

这是我在原型化时创建唯一 ID 的常用功能。我甚至曾见有人在生产模式中使用它。这不是安全的,但是……还有更差的随机生成函数。

1

2

// 生成一个长度为 11 的随机字母字符串

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

3、Quine

quine 是一个输出自身源码的程序。Quine 总让我如此痴迷。我已经有好几次用不同的语言来完成我自己的quine了,但是细节是最重要的。

我为你挑选了一些优胜者。这三个分别来自 Mama Fun Roll, PleaseStand,和 Peter Olson 。

1

2

3

4

5

6

7

8

9

// $=_=>`$=${$};$()`;$()

$=_=>`$=${$};$()`;$()

 

// eval(I="'eval(I='+JSON.stringify(I)+')'")

eval(I="'eval(I='+JSON.stringify(I)+')'")

 

// For those who like their quines via alert

// (function a(){alert("("+a+")()")})()

(function a(){alert("("+a+")()")})()

4、获取查询参数

这是关于不可维护的代码。这会把页面的查询参数转换为 78 字节的对象。感谢 Alex Lohr 提供代码实现(还有齐翊)。

?foo=bar&baz=bing => {foo: bar, baz: bing}

1

2

// 设置 `q` 的值为当前页面的查询参数

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

我想看到迷你机这么努力的工作。

5. 工作闹钟

仅需少量代码,你就可以创建一个工作闹钟,并且你可以一口气读完它的源码。经过和同事的挑战,我写了这篇文章。它每秒钟计时一次,并使用当前时间更新页面。

1

<body onload="setInterval(()=>document.body.innerHTML=new Date().toGMTString().slice(17,25))"></body>

6、随机排列一个数组

在 Pythonistas 展示 import randomrandom.shuffle(array) 解决方案前,我们只能自食其力。这有一个好处是,成为无限循环的机会很小(取决于你的实现)。Michiel Hendriks 帮助我们节省一些字符

以上就是分享几个实用的单行 JS 代码的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

firefox怎么关闭javascript

分享12个提升程序员软技能与效率的开发工具

50个javascript面试和解答(收藏)

canvas实现弹球的代码示例

javascript介绍前端安全知多少

javascript怎样格式化

js中如何进行字符串替换

java和javascript闭包的区别是什么

分享6款实用的时钟特效(收藏)

浏览器的事件循环

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...