【发布时间】:2015-11-14 12:26:24
【问题描述】:
所以我有一个函数来检查字符串中的最后一个字符是否是算术运算符(+、-、*、/),如果是,它应该立即从函数中返回。如果不是,则应将减号附加到字符串中。但是,似乎只有第二种情况正在发生,我不知道为什么。如果有人能提供一些见解,我将非常感激。
$("#subtract").click(function () {
var original=$("#display").text();
var sliced=original.slice(0,original.length - 1);
var signs=["+","-","*","/"];
var charpos=sliced.charAt(sliced.length -1);
if ((charpos === signs[0]) || (charpos === signs[1]) || (charpos === signs[2]) || (charpos === signs[3])) {
return;
}
else {
var newdisplay=sliced + "-";
$("#display").text(newdisplay);
}
});
【问题讨论】:
-
看起来你得到了
original的倒数第二个字符,因为你切掉了sliced中的最后一个字符,并用charpos得到了sliced的最后一个字符.这是故意的吗?如果是这样,那么我看不出有什么问题,那么您能否提供一个示例,说明您在$("#display")中输入的内容,以便我进一步测试? -
您是否在控制台中打印它们并查看是否正确获取字符?
console.log() -
将
original.slice(0, original.length - 1)更改为original.slice(0, original.length)。
标签: javascript jquery string return