本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议 》和 《 阿里云开发者社区知识产权保护指引 》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单 进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

先是 Math.random() 生成 [0, 1) 的数,也就是 0.123312、0.982931之类的,

然后调用 number 的 toString方法将其转换成36进制的,

按照MDN的说法,36进制的转换应该是包含了字母 a~z 和 数字0~9的,

因为这样生成的是 0.89kjna21sa 类似这样的,所以要截取一下小数部分,

即从索引 2 开始截取10个字符就是我们想要的随机字符串了

const str = Math.random().toString(36).substr(2, 10);
console.log(str);   // 'jlj18hr0mu'

参考

JavaScript 奇怪又实用的姿势又增加了六个