Boris007 нет, не свойство. Это локальная переменная. Свойство выглядит вот так:window.q
Локальная переменная существует только в текущем блоке. В соседнем блоке или в блоке выше она не будет существовать. Читайте мануал: let, var.
karpo518 Продебажить и найти в каком именно промисе не ловится ошибка и уже там исправлять код. Вон в сообщении об ошибке указано конкретное место: localhost:8003/main.js?3aa0a28b8eef9439dfc4:46658:23 <-- вот отсюда и надо начинать дебаг. За вас этого никто не сделает. Кроме того, ваш пример кода не автономен и даже полностью рабочий (спасибо за переписывание и проверку Aetae).
FateError нет. Есть сервисы проверки доступности сайта - используйте любой для проверки. Проверяйте настройки DNS и т.п.. Ну или и пинайте саппорт хостера.
Павел Карплюк просто откройте Правила, прочитайте и соблюдайте. В данном случае обратите внимание на правило 3.8. Не будете соблюдать - вопросы будут удалять.
Даниил Какой именно пример? Все что может быть скомпилировано компилятором может быть повторено вручную. Можно запросто выделить кусок памяти, ручками записать туда машинный код и вызвать его - и оно будет работать (да, я так делал, если что). Ассемблер - это абстракция, что лежит под классическими языками программирования. Ниже - машинный код, а далее - нули и единицы, представляемые уже напряжением где-то в транзисторах процессора.
Поэкспериментировал, и вот так вот вычислить адрес, и вставить его быстрее чем, допустим там стояло this.Point.
А как именно проводилось измерение? Продакшен сборка после прохода оптимизатора? Есть ведь еще и оптимизатор с разными настройками оптимизации, разные процессорные архитектуры, а так же разные версии языка, .net, самого оптимизатора и прочее-прочее. Там вполне может оказаться тот же самый код, который ручками был сделан. Или даже лучше. Нынче там очень много всего накручено и никогда не знаешь во что в итоге будет перекручен код оптимизатором.
Да, с типами в дот-нете несколько заморочено - боксинг/анбоксинг, приведение типов от одного к другому и прочее. Легко напороться на не очень понятный баг. И поэтому я сначала пишу код на шарпе, потом дизассемблирую его и разбираю пошагово что именно там происходит. Когда понимаешь, что именно там скомпилировалось и как оно работает - получается проще написать то же самое асмом, да.
Ну, я сейчас детали не вспомню, но там вроде просто объявляется локальная переменная нужного типа, а далее с ней работать надо как с объектом или адресом и надо использовать кастинг в нужный тип. Методы вызываются тоже достаточно просто - заранее получаем MethodInfo и в качестве аргумента передаем инстанс объекта, метод которого надо вызвать. Большинство ответов такого типа я нашел на SO и читая дизассемблированный код.
window.q
Локальная переменная существует только в текущем блоке. В соседнем блоке или в блоке выше она не будет существовать. Читайте мануал: let, var.