Вот ссылка на руководство Apple по переходу на ARC.
ОК ... проверить это . Конкретное изменение NSAutoreleasePool - это то, как Xcode инициализирует себя при создании вашего первого приложения. Я не знаю как вы, но мне нравится эта идея!
Не беспокойтесь, если вы будете следовать книге Кочана. При запуске вашего проекта просто снимите флажок «Использовать ARC». Все будет работать.
var window = {}
var document = {}
... конечно, они не принесут много пользы, если вы не заполните их свойствами, к которым сценарий пытается получить доступ.
Вы не можете просто заполнить их со стандартными API-интерфейсами браузера - большинство из них не имеют смысла вне контекста браузера.
Окно и объекты документа предоставляются только веб-браузерами и не являются частью стандарта ECMAScript , который реализует Rhino. Они нужны для того, чтобы сценарий мог получить доступ к текущему окну браузера и HTML-документу. Объект документа на самом деле является реализацией W3C DOM .
Rhino - это чистая реализация ECMAScript / JavaScript 1.7 и, следовательно, ничего не знает о HTML-страницах, окнах и браузере в целом. Это язык сценариев общего назначения, который в основном встроен в веб-браузер, и поэтому вы обычно можете использовать глобальные объекты, предоставляемые браузером.
Конечно, вы можете определять некоторые глобально доступные объекты с именами «окно» и "документ" - это просто заглушки, которые ничего не делают, но сценарий, который вы хотите выполнить, вероятно, использует какие-то методы и / или свойства, поэтому это вам не очень поможет. Если вы хотите выполнить сценарий, который был написан для выполнения в среде браузера, вам необходимо предоставить полную среду, подобную «браузеру».
Если это возможно и имеет смысл в контексте сервера, это другой вопрос. .