输入中的字符串和运行时的字符串不相等?

Or *_*evo 5 javascript string

所以我正在尝试读取<textarea>输入,将其分成单独的单词,然后检查每个单词是否等于关键字列表中的单词.

我已经完成了代码,当我测试时,它没有用.当我调试它时,我看到当它比较一个字符串<textarea>和一个看起来相同的常量字符串时,它认为它们是不相等的.

我试图从中获取字符串<textarea>(完全相同,复制粘贴它)并将其与静态字符串静态比较,然后它变为真.

如果你知道问题可能是什么,我会很高兴听到.谢谢.

代码:

function run() {
    debugger;

    code = document.getElementById("codeArea").value;
    cleanDots();
    words = code.split(" ");
    compile();
}

function compile() {    
    for (i = 0; i < words.length; i++) {
        var w = words[i];
        if (w == "test") 
            alert("test - true");
    }
}

function cleanDots() {
    for (var j = 0; j < code.length; j++) {
        if (code.charAt(j) == ".") {
            var p1 = code.substring(0, j);
            var p2 = code.substring(j + 1, code.length);

            code = p1 + " " + p2;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>??? ?????? ????? ?????</title>
    <style type="text/css">
        body{
            padding: 0;
            margin: 0;      
        }
        textarea{
            width: 95%;
            padding: 10px;
            height: 700px;
            text-align: right;
            float: right;       
        }
        button{
            width: 95%;
            padding: 10px;
            text-align: center;
            float: right;
            background-color: green;
        }
    </style>
</head>
<body>
    <textarea id="codeArea">

    </textarea>
    <button id="submit" onclick="run()">???</button>

    <script src="compiler.js"></script>
    <script src="methods.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

cнŝ*_*ŝdk 1

首先,你在cleanDots函数中实际做的是实现 JavaScriptreplace()方法,这个函数应该是这样的:

\n\n
function cleanDots() {\n    code = code.replace(".", " ");\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

\r\n
\r\n
function cleanDots() {\n    code = code.replace(".", " ");\n}\n
Run Code Online (Sandbox Code Playgroud)\r\n
function run() {\r\n  debugger;\r\n\r\n  code = document.getElementById("codeArea").value;\r\n  cleanDots();\r\n  words = code.split(" ");\r\n  compile();\r\n}\r\n\r\nfunction compile() {\r\n  for (i = 0; i < words.length; i++) {\r\n    var w = words[i];\r\n    if (w == "test")\r\n      alert("test - true");\r\n  }\r\n}
Run Code Online (Sandbox Code Playgroud)\r\n
body {\r\n  padding: 0;\r\n  margin: 0;\r\n}\r\ntextarea {\r\n  width: 95%;\r\n  padding: 10px;\r\n  height: 700px;\r\n  text-align: right;\r\n  float: right;\r\n}\r\nbutton {\r\n  width: 95%;\r\n  padding: 10px;\r\n  text-align: center;\r\n  float: right;\r\n  background-color: green;\r\n}
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n

\n\n

除此之外,您的代码将正常执行。

\n