alert('g' - 'a')
正在返回不是数字。(“南”)。
ascii
但我希望得到as alert(103-97)
=>之间的区别alert(6)
。因此6
被输出。
在 C 中int i = 'g' - 'a'
,, 将给出i = 6
.
如何在javascript中实现2个字符的减法?(很容易,如下所示)
alert("g".charCodeAt(0) - "a".charCodeAt(0))
正在给 6。
应用:我在国际象棋程序中使用它。
alert('g' - 'a')
正在返回不是数字。(“南”)。
ascii
但我希望得到as alert(103-97)
=>之间的区别alert(6)
。因此6
被输出。
在 C 中int i = 'g' - 'a'
,, 将给出i = 6
.
如何在javascript中实现2个字符的减法?(很容易,如下所示)
alert("g".charCodeAt(0) - "a".charCodeAt(0))
正在给 6。
应用:我在国际象棋程序中使用它。
做你想做的唯一可行的方法是你已经建议的方式:
alert('g'.charCodeAt(0) - 'a'.charCodeAt(0));
如您所知,这将在每种情况下从字符串的第 0 个元素中检索 ASCII 字符代码,并从第一个元素中减去第二个元素。
不幸的是,这是检索给定字符的 ASCII 代码的唯一方法,尽管使用函数会更简单一些,尽管考虑到charCodeAt()
解决方案的简洁性/简单性并不是那么简单。
参考:
JavaScript 不将字符视为数字;它们是单字符串。所以减法运算符将计算Number('g') - Number('a')
。
你应该这样做'g'.charCodeAt(0) - 'a'.charCodeAt(0)
(没有更好的方法,但你可以将它包装在一个函数中)
您可以自己编写一个自定义函数。像这样的东西:
function asciiDif(a,b) {
return a.charCodeAt(0) - b.charCodeAt(0);
}
接着:
alert(asciiDif('g','a'));