函数输入上未终止的文本字符串

Unterminated Literal String on function input

本文关键字:文本 字符串 终止 输入 函数      更新时间:2023-09-26

我写了一个函数,它的输入应该有换行符:

function goh(textt) {
    textt = textt.split(''n');
    for(i=0; i<textt.length; i++) {
        textt[i] = i+'='+textt[i]
    }
    return textt.join(''n');
}

例如,我想这样称呼它:

goh("http://www.youtube.com/watch?v=
http://www.youtube.com/watch?v=
http://www.youtube.com/watch?v=
http://www.youtube.com/watch?v=
http://www.youtube.com/watch?v=
http://www.youtube.com/watch?v=
http://www.youtube.com/watch?v=");

但它在firefox的控制台中给了我这个错误。(顺便说一句,我以前读过所有关于这个的问题…)

SyntaxError: unterminated string literal

如何解决此问题?

编辑:

请大家听好。我知道你在这里说什么。在这种情况下,我将自己添加CCD_ 1 xD我希望脚本为我执行此操作
我想通过RAW输入。

只需使用'n。它的行为是一样的。

goh("http://www.youtube.com/watch?v='nhttp://www.youtube.com/watch?v="); // many more

根据您的评论

不不不我不能!我想让剧本为我做这件事,我只想通过原始输入。。。。。不是一个好答案。

您必须使用一个数组并推送"原始输入"并将它们连接起来。

var arr = [];
arr.push("raw data");
arr.push("raw data");
for(var i = 0; i < arr.length; i++)
    console.log(arr[i], "There's no need of split");

关于:

SyntaxError:未终止的字符串文本如何解决此问题?

应该使用反斜杠:

goh("http://www.youtube.com/watch?v='
http://www.youtube.com/watch?v='
http://www.youtube.com/watch?v='
http://www.youtube.com/watch?v='
http://www.youtube.com/watch?v='
http://www.youtube.com/watch?v='
http://www.youtube.com/watch?v=");

如果您想发送纯换行符,请使用'n作为@amit应答。

JavaScript不允许多行字符串,但是您可以使用'n,它会在字符串中给您一个换行符:

var a = "a'nb'nc";
console.log(a); // will give you:
"a
b
c"

如果你认为一行会很乱,你可以总是使用字符串串联:

var a = "a'n" + 
  "b'n" + 
  "c";
// using String.prototype.concat    
var a = "a'n".concat(
  "b'n",
  "c'n"
);
// Using Array.prototype.join
var a = ["a", "b", "c"].join(''n');

现在我的问题是:为什么你不发送一个数组,忘记分裂、加入等的麻烦呢?