javascript中使用charAt方法的错误

时间:2014-12-16 16:40:19

标签: 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 return 1;
}

其中lines是一个数组或字符串,它是从ace编辑器中提取的。问题是,当第一个字符是'#'时,这可以正常工作。但是当第一个字符是'。'时,它不会将它作为一个点'。'相反,它将它作为“”(空字符串)。有人可以帮我从这里出去吗 ?这有什么不对吗?

编辑: 这就是我采用数组的方式。

for(var i = 0, lines = new Array(numOfLines); i<numOfLines; i++ ){
        lines[i] = editor.session.getLine(i);
}

最令人困惑的部分是,当我从单词[0]发出警告时,它会显示带有点“。”的单词。

2 个答案:

答案 0 :(得分:1)

我试过了代码。它对我来说非常好。请检查阵列中插入的值。我想它应该可以正常工作。 我实现了以下代码:

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";
}

答案 1 :(得分:0)

不应使用charAt(),而应将字符串用作字符表。

 var firstChar = words[0].charAt(0);

可以替换为

 var firstChar = words[0][0];