Javascript中允许使用dot之前的空格(方法调用)?

时间:2011-02-10 18:21:47

标签: javascript syntax

我想在Javascript中使用以下语法:

var bar = foo.replace(/really long regex/, something)
             .replace(/another really long regex/, something)
             .replace(/yet another really long regex/, something);

因为它(在某种程度上)比在一行上这样做更具可读性。

这是允许的吗?它在Firefox中运行良好,但我无法在任何地方找到任何对此语法的引用,我不想稍后发现有一些不合适的浏览器,这不起作用。

3 个答案:

答案 0 :(得分:4)

是的,Javascript忽略了空格。

虽然如果你要忽略空格,你需要确定并使用分号来结束表达式。分号不是必需的,但如果不使用分号,则javascript使用回车来分隔命令。如果您没有预料到这会导致行为不一致。

我已经在我的javascript代码中完成了很多次,因为当我编写漂亮的代码时,我不想让它超过80个字符。

看看emcascript标准https://docs.google.com/viewer?url=http%3A%2F%2Fwww.ecma-international.org%2Fpublications%2Ffiles%2FECMA-ST%2FECMA-262.pdf

线路终结器(与您有关的)在pdf的第25页上进行了解决(第15页打印在表格上)。所有第7节都是关于格式化的,你可能会找到它为什么在那里工作的定义(是的,我很懒,不想阅读整个部分:))。

希望有所帮助!

答案 1 :(得分:1)

你绝对可以这样做,但我会小心。引用维基百科条目 - “JavaScript源中的空格可以直接影响语义”。请参阅JavaScript Syntax -Whitespace and Semicolons

答案 2 :(得分:0)

是的,我无法找到任何文件,但它是有效的。 在你的情况下,你可以循环使用正则表达式