我正在编写一个小单页应用程序(使用 knockout.js :-)),其中我有一系列 javascript 代码示例。这段代码包含在一个函数中,我在函数上调用 toString 以在浏览器中显示源代码。
总的来说,一切都很好!但是由于示例的性质(作为学习练习),它们包含一些通常被认为是多余的代码。例如,此代码是一个在 javascript 中演示 false-y 值的示例:
var example = function() {
if("" || 0 || null || undefined || NaN) {
console.log("i'll never be logged");
}
else {
console.log("i'll always be logged");
}
};
在 Firefox 中,如果我调用example.toString()
返回的字符串不包含0
,null
或者""
- 所以我的例子没有准确描绘!然而,在 IE 中,上述值包含在toString()
调用结果中,但字符串只是一行 - 没有缩进或任何东西!
所以我想知道的是
1.更可能的解决方案:任何人都知道一个 JS 实现的代码荧光笔,如果给定一个长的单行 javascript 代码字符串,它将为我处理格式/缩进。或者一个荧光笔,它允许简单的可扩展性来提供这种功能
- 不太可能的解决方案:如果有人知道在 FF 中获得准确结果的方法,或者正确
任何帮助将不胜感激,没有得到我想让应用程序完美的结果真的很令人沮丧:)
编辑:似乎我很密集,IE确实格式正确,只是我在构建应用程序时使用的基本示例我将函数声明为单行,所以格式被准确地继承了!因此,在网络历史上,IE 完全符合您的预期,没有任何问题 :) 如果有人能提供一个理由让 Firefox 从字符串表示中删除某些代码部分,那就太好了