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

Javascript 函数输入上的未终止文字字符串,javascript,syntax-error,Javascript,Syntax Error,我写了一个函数,它的输入应该有换行符: 功能goh(textt){ textt=textt.split('\n'); 对于(i=0;i关于: 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=\ htt

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

功能goh(textt){
textt=textt.split('\n');
对于(i=0;i关于:

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=");

如果要发送纯换行符,请按@amit answered使用
\n

只需使用
\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");
var arr=[];
arr.push(“原始数据”);
arr.push(“原始数据”);
对于(变量i=0;i
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');

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

之所以会产生错误,是因为你不能用这样的换行符打断字符串。看看这个问题,了解更多信息:为什么不直接传递一个数组,而传递一个字符串给那个数组是没有意义的function@adeneo我不能传递数组…在这种情况下,它不是自动化的..我在做某事吗?为什么不呢,如果你可以将
\n
添加到字符串中,你当然可以将每个字符串推送到一个数组中,而且你还是通过在函数中拆分来创建一个数组。这不会有效地转义字符串中的换行字符,这是O中所期望的吗P的函数…?这只允许多行字符串,不保留换行符,尽管
“\”.length//0
-.-用换行符替换空格,然后运行…@dev null关于错误和他关于错误的问题,反斜杠可以解决it@RoyiNamir在第五次编辑后,您终于能够回答OPs问题的一部分,但这对hem并没有真正的帮助,因为现在OP会坐在那里想为什么拆分不起作用。@dev-null是的,我编辑过(你让它听起来很糟糕)因为我想回答他的具体问题。不,不,我不能!我想让脚本为我做这件事,我只想传递原始输入……这不是一个好的答案。@TechLife这是最好的,我能做的。@TechLife this
\n
和换行符是100%相同的,但在JS中编写字符串时,您不能简单地编写换行符,您需要使用
\n
@TechLife你能不能停止这个“不好的答案”的问题?你解决问题的方法也不是很好。你不能使用没有斜杠的多行(我在这里重复了第三次,仍然有人投了反对票….baaaa)@那么你的意思是这是一个限制?是吗?
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');