Задать вопрос
  • Как с помощью Javascript решить данную задачу?

    Aetae
    @Aetae Куратор тега JavaScript
    Так и в чем собственно вопрос?

    Он наверное ожидал что в es6 появилась какая-то особая магия, которая сможет это дело сократить.

    max2020, ответ нет, не появилось. Javascript развивается в сторону сахара, абстракций и упрощений. Низкоуровневая работа с кодами символов не входит в список распространённых задач.

    Можно конечно использовать TextDecoder, применить for of и ещё что-нить новомодное, но это приведёт лишь к замедлению и, скорее всего, уменьшению читаемости. Смысла в этом нет.
  • Авторизация на двух фронтэндах с единым бекэндом?

    Aetae
    @Aetae Куратор тега Vue.js
    Если хочется по сурьёзному: гуглить SSO.
    А так если один бэк, один домен: ставьте куку да периодически проверяйте.)
  • Как масштабировать шрифты в web?

    Aetae
    @Aetae Куратор тега JavaScript
    Kovalsky, нету там нихрена, тыкни пальцем в конкретный рабочий, по твоему мнению, пример.
  • Как масштабировать шрифты в web?

    Aetae
    @Aetae Куратор тега JavaScript
    Kovalsky, не вижу. Хрень там, а не примеры. Тупо про перенос текста. Кривой.
  • Как масштабировать шрифты в web?

    Aetae
    @Aetae Куратор тега JavaScript
    Kovalsky, а смысл? В кавадрат сам текст себя не отформатирует никак. Если уж как-то получили текст точно вписанный в квадрат, то проще его потом через transform: scale, чем svg городить.
  • Как передать в функцию require() переменную?

    Aetae
    @Aetae Куратор тега Vue.js
    Прочитай мой ответ.
    У тебя в бандле теперь лежит всё содержимое папки @/assets/ пропущенное через require.
  • Как подвесить событие vue?

    Aetae
    @Aetae Куратор тега JavaScript
    "Правильно" и "ошибка" местами поменяйте.
  • Свойство align-items: center в firefox и в chrome, как пофиксить?

    Aetae
    @Aetae
    Тут только решать конкретную задачу, конкретным способом. Скорее всего можно сверстать так, чтобы не попадать на субпиксили, но надо смотреть.
    В глобальных рамках естественно ничего сделать нельзя - это абсолютно разные движки, естественно они рисуют по разному. В обычных случаях такие мелочи не должны иметь значения, потому что вещи пиксельного размера не делают резиновыми.
  • Как изменить порядок элементов?

    Aetae
    @Aetae
    С помощью css нельзя просто поменять местами элементы, находящихся в разных контейнерах.
    Так что либо grid, либо javascript, либо @media и очень извращённая возня с позиционированием.
  • Почему данном случае теряется контекст this?

    Aetae
    @Aetae Куратор тега JavaScript
    Muranx, хз, кураторы тега могут видать. И да, мой ответ полностью отвечает на ваш вопрос, если применить мозг. Кроме того что я описал никаких метаморфоз не происходит.
    Ну ок, разжуём ваш пример:
    1) Почему в возвращаемой функции ((2)) теряется тот this который был в ((1)), разве при вызове ((3)) интерпритатор не должен искать this выше в коде?

    Нет, не должен, this при вызове конкретной функции "заполняется" значением только при вызове этой функции. Правила описаны в ответе.
    Это одна конкретная функция:
    Function.prototype.anyMeth=function(obj){
      fn=this // ((1))
      document.write(fn.name+"<br>") // просто для проверки того, на что указывает в данном случае this
          return 'anyShit'
    };

    Это совершенно другая конкретная функция:
    function(){ // ((2))
      document.write(this+"<br>") // ((3))
      return fn.call(!this ? this : obj) // ((4))
    }

    (или это работает только с замыканиями, а на зыс это не распространяется) Не понимаю как получается, что находясь в скоупе Function.prototype.anyMeth=function(obj), this указывает на объект (на функцию) из которой будет вызываться метод anyMeth, но в возвращаемой из этого скоупа функции мы теряем этот this, в строке ((3))

    Ещё раз, на то что лежит в this влияет только способ вызова, это не переменная, а особое слово.
    это и есть та самая потеря контекста и возврат к привязке по умолчанию, тоесть объекту window, или как?

    Нет никакой потери контекста и привязки по умолчанию. То что при вызове полученной функции у вас this равен window происходит потому, что вы сами вызываете без контекста: hoj(c);
    Почему так - написано в ответе.

    Проблема в том, что фраза "зыс определяется не там где объявленна функция, а там где вызывается" сбивает меня с толку, в случаях типо fn.call(!this ? this : obj) (т.к. функция эта вызывается внутри другой функции, у которой свой this внутри, но при этом она обозначает не этот зыс), вообщем спасибо заранее за ответ!

    Вызовы в javascript очевидно идут по порядку. Сначала вы вызываете var hoj = back.anyMeth();, this принимает значение back, создаётся и записывается(но не вызывается!) в переменную hoj функция:
    function(){ // ((2))
      document.write(this+"<br>") // ((3))
      return fn.call(!this ? this : obj) // ((4))
    }
    для которой, благодаря замыканию запомнены переменные:
    а.fn, которой присвоен this на момент вызова, т.е. black;
    б.obj, который undefined, потому что функция вызвана без параметров.
    На данном этапе функция anyMeth отработала, никакого this нет.
    Далее вы вызываете hoj(с) без всякого контекста:
    1. this принимает значение window в обычном и undefined в строгом режиме;
    2. переданный параметр c нигде не используется;
    3. fn замкнут и равен black;
    4. obj замкнут и undefined.
    Происходит вызов fn через call которому в качестве параметра в любом случае передаётся undefined:
    a. в строгом режиме this для просто вызваной вызывнной функции - undefuned, !undefuned -> true
    , fn.call(!undefuned ? undefuned : obj) -> fn.call(undefuned);
    b. в обычном режиме this для просто вызваной вызывнной функции - window, !window -> false, obj -> undeined(п.4), fn.call(!window ? window : undeined) -> fn.call(undefuned).
    Передача в функцию undefined как параметра равносильна в принципе отсутствию переданных параметров, т.о. fn.call(undefuned) равносильно fn.call(), что в свою очередь равносильно fn(), что в конкретном случае равносильно(п.3) black().
    В итоге мы получаем простой вызов функции back() без всякого контекста.
  • Как програмно установить zoom в браузере?

    Aetae
    @Aetae Куратор тега JavaScript
    В firefox не будет работать.
  • Как написать цикл for с return?

    Aetae
    @Aetae Куратор тега JavaScript
    this.videoList.filter( v => v.status !== 'done')
  • Оптимизация vuex?

    Aetae
    @Aetae Куратор тега JavaScript
    По хорошему, с передвижением надо работать прямо на месте, ничего никуда не записывая и не вызывая, "виртуально" - т.е. чисто на экране, а уже по завершению производить запись.
  • Как исправить некорректное отображение поля типа datetime-local в Safari?

    Aetae
    @Aetae
    "Обычные браузеры" - это хром и дети его? В firefox это тоже не поддерживается.
  • Как в метод передать второй параметр, помимо параметра event?

    Aetae
    @Aetae Куратор тега Vue.js
    danilr, не, не будет. На чистом js будет работать вариант из вопроса. А первый вариант ответа - просто велосипед от человека не читавшего документацию.
  • Circle to Path converted svg?

    Aetae
    @Aetae Куратор тега JavaScript
    Почему бы не написать самому, делов то: капелька математики да десяток строк кода?
  • Как сделать что бы каждая следующая полоска была больше предыдущей?

    Aetae
    @Aetae Куратор тега JavaScript
    Если нужно одни раз прописать css а дальше должно автоматически - только каждую вкладывать друг в друга.
    Либо можно вручную прописать размеры для следующих подряд элементов до n-ного через селекторы "a + b" или ":nth-child(n)".