Я пишу небольшое одностраничное приложение (использующее knockout.js :-)), в результате чего у меня есть серия примеров кода javascript. этот код обернут в функцию, и я вызываю функцию toString для отображения исходного кода в браузере.
в целом все отлично работает! но из-за характера примеров (в качестве учебных упражнений) они содержат некоторый код, который обычно можно считать избыточным. например, этот код является примером, который демонстрирует значения false-y в javascript:
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 отбросить определенные части кода из строкового представления