Как заставить блокнот Firefox вести себя как онлайн-консоль JS?

Причина, по которой я хочу, чтобы блокнот браузера вел себя как онлайн-консоль, заключается в том, что при выполнении следующего кода в изолированной программной среде кода Eloquent JS:

var foo = typeof "abc";
console.log(foo);

Возвращает: string как и ожидалось. Однако тот же код в блокноте Firefox (45 ESR) возвращает: undefined, Эта разница в поведении только заставляет меня настороженно относиться к полученным результатам в Firefox.

Пытаясь получить желаемое поведение блокнота и взглянув на статью MDN на эту тему, он говорит:

Вы можете написать, запустить и изучить результаты кода, который взаимодействует с веб-страницей.

В основном это говорит о том, что исполняемый код привязан к странице, на которой вы сейчас находитесь (не совсем уверен в этом). Исходя из этого, далее в той же статье другой раздел указывает, что для запуска кода в контексте браузера, а не в контексте страницы, должна быть включена опция отладки chrome и надстройки, что я сделал безрезультатно.

Любая идея, почему эта разница возникает? Он был успешно протестирован на Chrome 61, Safari 8 и 6, поэтому мне интересно, может ли это быть скрытая функция / неправильная конфигурация или в конечном итоге ошибка. Большое спасибо за вашу помощь!

1 ответ

console.log() не возвращает никакого значения, поэтому показывает "неопределенное"

alert(console.log("anything")); //undefined

чтобы показать вывод функций консоли, откройте саму консоль (не блокнот)

или удалите console.log() из своего кода, чтобы показать значение foo, ведь это "строка"

итоги: foo это строка console.log(foo) не определена

Другие вопросы по тегам