Объясните, пожалуйста, строку кода?

Есть строка кода на JS:
var strict = (function() {return !this;}());

Мне непонятно, почему значение переменной обернуто в скобки, а также зачем идет еще пара скобок после окончания тела безымянной функции.
  • Вопрос задан
  • 486 просмотров
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
Самовызывающаяся функция.
Все варианты записи:
strict = (function() {return !this;}());

strict = (function() {return !this;})();

strict = function() {return !this;}();


Пара скобок в конце это вызов этой функции. Можно переписать так:
function func() {
  return !this;
}

var strict = func();
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
politon
@politon
HTML5,CSS3,JS,PHP,SQL,API,canvas,animation...
переменная получает значение функциии
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы