你见过哪些令你瞠目结舌的 JavaScript 代码技巧?
16lz
2021-03-23
function getRating(rating) { if(rating > 5 || rating < 0) throw new Error('数字不在范围内'); return '★★★★★☆☆☆☆☆'.substring(5 - rating, 10 - rating );}12345
可以快速打印一个五分制的评分情况。
Math.random().toString(36).substr(2,10)1
获得一个10位长度的随机字符串
3.
4.贴一个在《JavaScript 忍者秘籍》里看到的技巧:
function addMethod(object, name, fn) { var old = object[name]; object[name] = function(){ if (fn.length == arguments.length) return fn.apply(this, arguments) else if (typeof old == 'function') return old.apply(this, arguments); };}12345678910
你能猜到这个函数的用处么
5.膛目结舌算不上, 但是个实用的小技巧.
数字补零:
function format(n, length) { return (Array(length).join('0') + n).substr(-length);}123
或者特殊情况:
('0' + n).substr(-2); // 2 位('000' + n).substr(-4); // 4 位12
主流 Promise 实现中的 each helper 也很有意思:
function each(items, callback) { return items.reduce((promise, item) => promise.then(() => callback(item)), Promise.resolve());}123
还有个有意思的应用是 toString 配合 join:
class FormData { constructor(key, value) { this.key = key; this.value = value; } toString() { return encodeURIComponent(this.key) + '=' + encodeURIComponent(this.value); }}let items = [ new FormData('foo', 'yo yo yo!'), new FormData('bar', 'biu biu biu!')];console.log(items.join('&'));123456789101112131415161718
【免责声明:本文图片及文字信息均由千锋重庆Java培训小编转载自网络,旨在分享提供阅读,版权归原作者所有,如有侵权请联系我们进行删除。】
©著作权归作者所有:来自51CTO博客作者qq6048445b266f9的原创作品,如需转载,请注明出处,否则将追究法律责任你的鼓励让我更有动力
赞赏
0人进行了赞赏支持
更多相关文章
- DBA的小学美术功底
- chrome查看网站字符集编码的方法(不需要安装charset)
- RabbitMQ:rabbitmq.config(not found)问题解决
- CDH启动lzo压缩
- Logstash 之 安装
- RabbitMQ:address (cannot connect to host/port)问题解决
- Jenkins-2.283 破解密码
- 【3.15-3.21】上周精彩回顾
- Logstash 之 重要插件