javascript中charAt方法的错误

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

我正在用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);
}
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不支持对字符串上的字符进行索引访问。