В чем разница между var myFunc = new Object (function myFunc () {}) и функцией myFunc () {}? - PullRequest
0 голосов
/ 09 мая 2019

Я не знал, что вы могли бы создать функцию, используя новый объект:

var myFunc = new Object(function myFunc () {})

Глядя на консоль, она выглядит идентично:

function myFunc () {}

Есть ли причина дляиспользовать новый объект для создания функции?

1 Ответ

1 голос
/ 09 мая 2019

Согласно документации Object(...) :

Конструктор Object создает обертку объекта для данного значения. Если значение равно нулю или не определено, он создаст и вернет пустой объект, в противном случае он вернет объект типа, соответствующего данному значению. Если значение уже является объектом, оно вернет значение.

Функции являются объектами, поэтому он просто возвращает функцию. new Object(...) часть не используется. Таким образом, код в основном просто:

  var myFunc = function myFunc() { }

и едва ли равно объявлению функции

...