Я знаю, что V8 включает только подмножество глобальных объектов JavaScript, которые мы обычно используем в браузерах, поэтому глобальные объекты, такие как console/window/document
, недоступны в d8.exe
. Такие функции, как setTimeout
, также недоступны (на самом деле я не могу найти способ заменить эту функцию).Глобальные объекты Javascript, включенные в d8.exe
Я могу сделать что-то вроде if ("console" in this) { ... }
, чтобы проверить, доступен ли объект console
или нет, но это не очень изящно, на мой взгляд. Есть ли список, в котором указано, что включено, а что нет? Или еще лучше, список обходных решений?
Слово «синтаксис» не подходит. О чем вы спрашиваете, это глобальная среда JavaScript. Тем не менее, ответ да, вы можете просто проверить, определены ли такие вещи, как 'document' и' window'. – Pointy
Ну, глобальные символы и API-интерфейсы веб-браузеров и Node.js и другие среды выполнения JavaScript обычно документируются, если это то, что вы имеете в виду. Однако самый надежный способ адаптации вашего кода - это определенно для того, чтобы сделать эти явные неэлегантные тесты. Стандарты и спецификации меняются со временем. – Pointy