我正在查看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还要查找数字,在数字上有一个叫touppercase的点吗?有一些Unicode字符可以改变吗?

最佳答案

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

在所有内容上调用.toUpperCase()肯定比确定是否调用它更容易,更干净,并且可能更快。

关于javascript - jQuery camelcase的实现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18971207/

10-10 18:35