javascript中charAt方法的错误
我正在用javascript做一个小项目。我使用charAt方法从ace编辑器中获取行中的第一个字符。 这是我的密码:javascript中charAt方法的错误,javascript,string,charat,Javascript,String,Charat,我正在用javascript做一个小项目。我使用charAt方法从ace编辑器中获取行中的第一个字符。 这是我的密码: function checkFirstChar (lineNo) { var words = lines[lineNo].split(" "); var firstChar = words[0].charAt(0); if (firstChar == "." || firstChar == "#") { return 0; } else retur
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);
}
for(vari=0,lines=newarray(numOfLines);i应该使用字符串作为字符表,而不是使用charAt()
var firstChar = words[0].charAt(0);
可以用
var firstChar = words[0][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";
}
显示行
和调用函数checkFirstChar
。如果代码是以空格开头的单词
应该可以正常工作?@AmitJoki我添加了一些额外的信息。谢谢帮助。@thisaruge尝试在JSFIDLE中复制您的问题。据我所知,您的代码没有问题nds好像在点之前有一些不可见的零宽度字符。请尝试记录单词[0]。charCodeAt(0)
charAt()
有什么问题?此外,oldIE不支持对字符串上的字符进行索引访问。