我正在使用 javascript 开发一个小项目。我正在使用 charAt 方法从 ace 编辑器获取一行中的第一个字符。 这是我的代码:
function checkFirstChar (lineNo) {
var words = lines[lineNo].split(" ");
var firstChar = words[0].charAt(0);
if (firstChar == "." || firstChar == "#") {
return 0;
}
else return 1;
}
其中lines是一个数组或字符串,它是从ace编辑器中提取的。问题是,当第一个字符是“#”时,这可以正常工作。但当第一个字符是“.”时,它不会将其视为点“.”。相反,它将它视为“”(空字符串)。有人可以帮我从这里出去吗 ?有什么问题吗?
编辑: 这就是我获取数组、行的方式。
for(var i = 0, lines = new Array(numOfLines); i<numOfLines; i++ ){
lines[i] = editor.session.getLine(i);
}
最令人困惑的部分是,当我从words[0]发出警报时,它显示带有点“.”的单词
最佳答案
我尝试了代码。它对我来说效果很好。请检查正在插入到数组中的值。我想它应该工作得很好。 我实现了以下代码:
function myFunc() {
var words = ".sdf dfsf #sdsd df";
var firstChar = words[0].charAt(0);
document.getElementById("demo").innerHTML = "";
if (firstChar == "." || firstChar == "#")
document.getElementById("demo").innerHTML = "bingo";
}
关于javascript - javascript 中 charAt 方法的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27509569/