【发布时间】:2011-08-01 01:43:46
【问题描述】:
我正在编写一个小的单页应用程序(使用 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 从字符串表示中删除某些代码部分,那就太好了
【问题讨论】:
标签: javascript function tostring codehighlighter