【发布时间】:2012-06-13 06:46:51
【问题描述】:
制作一些书签,我尝试使用 JavaScript minifier,如 Google Closure Compiler 或 YUI Compressor。但是,我没有使用这些,因为它们用双引号替换了每个单引号。我不能使用带有双引号的代码,因为我应该用双引号将代码括起来,例如:
<a href="javascript:alert('hello')">hello</a>
所以,我使用MinifyJavascript 进行缩小。我想知道为什么其他缩小器会替换引号。替换引号不会缩小代码。编码风格对于缩小的代码并不重要。那么这是什么原因呢?
【问题讨论】:
-
那是一行 HTML,而不是 JavaScript。在纯 JavaScript 中,总是可以使用反斜杠转义嵌入的引号。
-
这是一个Bookmarklet的示例代码。在示例中,我要缩小的代码是
alert('hello'),而缩小器将其缩小为alert("hello")。 -
那样的话,你就不能简单地做
<a href='javascript:alert("hello")'>吗? -
@StephenChung 没错!:)
-
(面向未来的读者)既然您谈到了 Google Closure.. 那编译器确实 不 盲目地将单引号替换为双引号;相反,它选择一个最佳(用于缩小)引号字符,并且当单引号和双引号“编译”为相同长度的字符串时,默认为双引号。自 2012 年 10 月 30 日起,可以使用 cli-switch 将默认引号字符从双引号更改为单引号:
--formatting SINGLE_QUOTES。欲了解更多信息,请阅读此answer。
标签: javascript quotes minify