关于随机化脚本的问题

时间:2013-09-21 20:35:36

标签: javascript

所以今天我有兴趣学习一个随机化每个字母/数字的脚本,例如0000-0000,每个0随机字母或数字随机化。在我之前的帖子中,我询问了如何做到并获得了剧本;我现在遇到的问题是完全理解代码。

jQuery(document).ready(function ($) {

    function randomised(len) {
        return Math.floor(Math.random() * len);
    }

    function randomiseString(str){
        var charSet = "abcdefghijklmnopqrstuvwxyz0123456789";
        var _str = str.replace(/[^-]/g,function(a){
            return charSet[randomised(charSet.length)]
        });
        return _str;
    }

    $('.combination').text(function(i,t){
        return randomiseString(t);
    });

});

所以这是代码,这里有一些我想知道的东西:

var _str = str.replace(/[^-]/g,function(a){
    return charSet[randomised(charSet.length)]
});

1)所以这是进行随机化的主要部分。我现在可能有些愚蠢的想法,但我想知道如何强制大写我上面设置的所有字母。我知道我可以用大写字母替换那些字母,但我想知道我怎么能用代码来做。另外,如果我理解正确,它会使charSet成为一个数组吗?

var _str = str.replace(/[^-]/g,function(a)

2)为什么函数有(a)值?是否有任何不同的天气,我把它留空了?

提前致谢!

1 个答案:

答案 0 :(得分:0)

Javascript不要求传递给函数的参数完全匹配函数所期望的参数。这意味着如果您不需要它们,可以安全地省略任何函数的参数,并且在上面的代码中,而不是

function (a) {
    // code that doesn't use a
}

你可以使用

function () {
    // ...
}