javascript 问题:多个参数,每行一个怎么写?

2011-07-05 11:03:38 +08:00
 westup
var allClassname = "Classname1,Classname2,Classname3,Classname4";

我想写成:

var allClassname = "
Classname1,
Classname2,
Classname3,
Classname4
";

该怎么写?

谢谢
5313 次点击
所在节点    问与答
8 条回复
jjlovegrape
2011-07-05 11:15:41 +08:00
貌似说每行末尾默认会帮你添加个分号。
你自己运行一下就知道了。
kaichen
2011-07-05 11:24:16 +08:00
你这不是多个参数,而是跨行的字符串。应该这么写:

var allClassname = "Classname1, "
+ "Classname2, "
+ "Classname3, "
+ "Classname4";

如果是多个参数放到多行可以这么写的:

function foo(a, b, c, d) {};
foo(1
,2
,3
,4);
westup
2011-07-05 11:27:07 +08:00
谢谢了,我就知道你们会,哈
kaichen
2011-07-05 11:27:54 +08:00
1楼说的行末添加分号的情况,在大部分解析器里都是会检查下一行的第一个字符,看看是否和当前行有联系,也就是说默认加分号的时候,可以理解为在下一行的行首加上分号。

对于这种行为,可以参考nodejs的包管理器npm的代码风格,https://github.com/isaacs/npm/blob/master/doc/coding-style.md
chone
2011-07-05 12:19:12 +08:00
用array.join也是一种选择

var allClassname = ['className1',
'className2',
'className3',
'className4'].join(',');
kaid
2011-07-05 13:18:09 +08:00
backslash, blah blah
chuck911
2011-07-05 20:28:53 +08:00
//backslash demo
var s =
"className1\
className2\
className3\
className4";
yyfearth
2011-07-05 22:39:27 +08:00
@chuck911 不是所有的js解析器支持这个标准的。
虽然挺好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/15351

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX