js 的 骚操作
单行的js 代码虽然简洁,但却不易维护,甚至难以理解,
但这却并不影响前端童鞋们编写简洁代码的热情,
一 , 生成随机ID
// 生成长度为10的随机字母数字字符串
Math.random().toString(36).substring(2);
解析 :
1 , Math.random() 生成一个 0 到 1 的 随机数 =》 number = 0.7147259888717723
2 , number.toString(36(可选)) 本来number是没有toString方法的, number调用toString时
number会先变成一个number类型的包装类 再调用 toString 方法 把 它 变成 字符串 ,
toString(radix ) 的 参数 可选 , 不填默认是 10 ,参数表示 先把 数字
转化成 radix 进制 的 数字 , 然后再把结果转化成字符串
number.toString(36(可选)) =》 str = "0.pqa97fnmfz"
3 , substring(start, end) 是用来 截取 字符串的 ,从 start 开始 截 到 end ,
end 可以不传 就 截取到最后一位 , 并返回截取出来的字符串 ,
不改变原字符串
str.substring(2) 从第二位开始截 =》 “pqa97fnmfz”
二 , 每秒更新当前时间
setInterval(()=>document.body.innerHTML=new Date().toLocaleString().slice(10,18))
解析
new Date().toLocaleString() 返回 =》 str = "4/29/2019, 5:07:39 PM" str.slice(10 ,18)从第10位开始截 到 18 位 =》 "5:07:39" 然后每秒更新
三 , 生成随机 16 进制 颜色 码 如 # ffffff
'#' + Math.floor(Math.random() * 0xffffff).toString(16).padEnd(6, '0');
解析 :
* 运算符 会先把 0xfffff 转换成 数字 =》 1048575
Math.floor(Math.random() * 0xffffff) => number = 15235201 number.toString(36) 转化成 36 进制 的 字符串 =》 str = '92jk1' padEnd 和 padStart 都是 用来补全字符串的 的 操作 区别是 在后面补 还是在前面补, 接受两个参数 , 第一个参数 表示 补全 后 字符串的 长度 ,
第二个是 你 要补的字符串
str.padEnd(6, '0') 表示 在 str 后 补 0 , 补后 str 的 长度为 6 = > '92jk10'
就算 str.padEnd(6, '000') 结果还是 '92jk10' 因为长度固定了。 四 , 创建 特定长度 的 数组 并且 内容为 index
[...Array(3).keys()]
解析 :
Array(3) 创建一个长度为 3 的 空数组 =》 [empty × 3]
keys() 返回 一个 迭代器 可以用 for ....of 遍历 里面的 value 就是 index
.... 操作符 扒括号
再 套上一个中括号 =》 [0, 1, 2] 五 , 返回键盘
// 用字符串返回一个键盘图形
(_=>[..."`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`
`)()

这操作。。。。。。 嗯~ o(* ̄▽ ̄*)o 表示看不懂 !!!!!!
不过还是收藏了
摘自 掘金沸点 https://juejin.im/post/5cc55eb5e51d456e577f93f0
js 的 骚操作的更多相关文章
- JS 的骚操作
一.强制类型转换 1.1string强制转换为数字 //可以用*1来转化为数字((实际上是调用.valueOf方法) 然后使用Number.isNaN来判断是否为NaN,或者使用 a !== a 来判 ...
- js常用骚操作总结
打开网址 window.open("http://www.runoob.com"); 判断是否为url var url = $("#url").val(); i ...
- vue开发中的"骚操作"
前言 在与同事协作开发的过程中,见识到了不少"骚操作".因为之前都没用过,所以我愿称之为"高级技巧"! Vue.extend 在交互过程中,有个需求就是点击图标 ...
- 用Markdown写Html和.md也就图一乐,真骚操作还得用来做PPT
前言 和这篇文章一样,我就是用Markdown写的.相信各位平时也就用Markdown写写文档,做做笔记,转成XHtml.Html等,今天教大伙一招骚操作:用Markdown写PPT. 绝大多数朋友做 ...
- js实现动态操作table
本章案例为通过js,动态操作table,实现在单页面进行增删改查的操作. 简要案例如下: <%@ page language="java" contentType=&quo ...
- nw.js如何处理拖放操作
nw.js如何处理拖放操作 其实拖放(drag-drop)操作是Html5的功能,不是nw.js的内置API,那么我们采用Html5应用一般的处理方法就可以了. 首先我们看一下一个正常的页面,直接拖放 ...
- Numeral.js – 格式化和操作数字的 JavaScript 库
Numeral.js 是一个用于格式化和操作数字的 JavaScript 库.数字可以格式化为货币,百分比,时间,甚至是小数,千位,和缩写格式,功能十分强大.支持包括中文在内的17种语言. 您可能感兴 ...
- 【软件编程】乐易贵宾VIP教程 - JS改写+网页操作系列教程
JS改写系列教程: 1.MD5加密改写教程(爱拍网登录)2.解密如何快速找到真确的js加密算法3.多重MD5加密改写教程(5173登录)4.DZ论坛登录加密改写5.唯品会手机登录加密改写6.新浪微博密 ...
- JS实现 键盘操作
JS实现 键盘操作: 详情可以去其逛网查看其API并下载,地址:http://craig.is/killing/mice <!DOCTYPE html PUBLIC "-//W3C// ...
随机推荐
- Partitions - Partition Storage Modes and Processing-MOLAP、ROLAP、HOLAP
https://docs.microsoft.com/en-us/sql/analysis-services/multidimensional-models-olap-logical-cube-obj ...
- R语言学习 第十篇:操作符
运算符是R语言中最基础的存在,熟悉运算符的使用,是熟练使用R处理数据的基础,操作符,顾名思义,是对数据进行运算的符号,R有自己的一套操作符,实现变量的赋值,引用,运算等功能. 一,赋值符号 为变量赋值 ...
- 八爪鱼在哪里设置xpath
分享:35个做好的爬虫规则+160篇图文教程汇总 一般在八爪鱼中,获取网页上某个元素的XPATH有以下几种方式:一.在内置浏览器中点选的操作,八爪鱼自动识别XPATH.但是有时候,自动识别的可能不准确 ...
- java使用Myeclipse创建Hibernate项目碰到的诸多问题总结
这两天一直在搞Myeclipse创建Hibernate的1对多映射. 由于缺乏经验,可算是把我坑惨了.控制台是不停地报错啊~~~~我差点就崩溃了. 1.看的是慕课网的Hibernate一对多映射教程, ...
- 双网卡+mitmproxy+iptables搭建SSL中间人(支持非HTTPS协议)
"想要解决一个问题,最根本方法的就是了解这一切是如何工作的,而不是玄学." --ASCII0X03 最近学习发现现在很多现成的安卓SSL中间人工具和教程都只针对HTTPS流量,比如 ...
- HTML 返回顶部
每次看淘宝,看微信,都回有回到顶部的小logo,小图标,或者双击返回顶部.所以就学习了如何返回顶部的操作,一开始是联想html中的链接描点,在开头出设置个标签,下面点击另外一个标志回去.有三种觉得比较 ...
- 洛谷 P1450 解题报告
P1450.硬币购物 题目描述 硬币购物一共有\(4\)种硬币.面值分别为\(c1,c2,c3,c4\).某人去商店买东西,去了\(tot\)次.每次带\(d_i\)枚\(c_i\)硬币,买\(s_i ...
- jenkins中集成commander应用
jenkins中集成commander应用 jenkins 集成测试 promotion 最近参加公司的集成测试平台的开发,在开发中遇到了不少问题,两个星期的迭代也即将完成,在这也用这篇博客记录下开发 ...
- wcf双工通讯
首先说一个服务引用不成功的解决办法: 需要把服务端配置文件中的Binding换成: <endpoint address="" binding="BasicHttpB ...
- C/C++ 数据结构之算法
数据结构中的排序算法. 排序算法的相关知识: (1)排序的概念:所谓排序就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来. (2)稳定的排序方法:在待排序的文件中,若存在多个关键字相同的 ...