[JavaScript]toString(36)
看到一个用JavaScript生成随机字符串的方法:
Math.random().toString(36).substring(2);
其中的toString(36)
是什么意思呢?
MDN上说,Number.prototype.toString()
有一个可选的参数radix
,就是进制
:
radix:指定要用于数字到字符串的转换的基数(从2到36)。如果未指定 radix 参数,则默认值为 10。
如果转换的基数大于10,则会使用字母来表示大于9的数字,比如基数为16的情况,则使用a到f的字母来表示10到15。
也就是说,如果radix
是36
,就会把数字表示为由0-9, a-z
组成的的36进制
字符串。
不用管36进制是什么,只要知道,由Math.random
产生的数字会被表示成看起来随机的字符串,类似hg7znok52x
,就像10
表示成二进制是1010
一个道理。
这里主要目的是学习toString()
,实际上这个随机字符串并不安全,不能用于实际开发中。
评论已关闭