1

我正在查看 jquery 源代码并注意到 camelcase 是:

camelCase: function( string ) {
    return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
}

// where:
rmsPrefix = /^-ms-/,
rdashAlpha = /-([\da-z])/gi,
fcamelCase = function( all, letter ) {
    return letter.toUpperCase();
}

我的问题是:为什么rdashAlpha还要查找数字,是否有必要在数字上调用大写字母?是否有一些 unicode 字符可以改变?

4

1 回答 1

2

如果您注意到,该函数还会删除连字符。不,不必将数字或大写字母大写,但该函数旨在仅用第一个字符替换整个匹配项(例如,“-2”或“-w”或“-W”)。

调用所有内容肯定比确定是否调用它.toUpperCase()更容易、更简洁,并且可能更快。

于 2013-09-24T00:59:43.637 回答