-5

我想知道这是如何不使用函数的。我试过使用String.fromCharCode,但我想我做得不对。有任何想法吗?

4

3 回答 3

5

如果您想a通过z. Unicode 数据库中涉及到映射。

toUpperCase适合这项工作的工具也是如此。根据规范,它使用 Unicode 数据库来选择合适的大写字符。(该链接是 totoLowerCase因为toUpperCase只是说它与 做相同的事情toLowerCase,但为大写。)

但是,如果您只支持a通过的英文字母z,则它们由字符代码 97 到 122 表示,包括 97 到 122。AthroughZ由字符代码 65 到 90 表示,包括 65 到 90。所以:

var upperChar = String.fromCharCode(lowerChar.charCodeAt(0) - 32);

会做的。但我强烈建议要这样做。

于 2013-03-07T13:34:28.113 回答
1

看看 ascii 表ASCII。A = 65 ... a = 97

并且不要忘记这不是正确的方法,但如果你需要达到这个级别的编程,这就是方法。这仅适用于 ascii(英文字母)。

会有很多缺点,但这是您问题的答案:)。

于 2013-03-07T13:34:47.313 回答
1

'A' 的 ASCII 值是 65,而 'a' 是 97。它们之间的差是 97 – 65 = 32 所以如果我们在 'A' 的 ASCII 值中加上 32,那么它将是 'a',如果我们减去'a' 的 ASCII 值中的 32 将是 'A'。所有字母都是如此。一般规则:

大写字符 = 小写字符 – 32

小写字符 = 大写字符 + 32

于 2013-03-07T13:40:22.407 回答