Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

JS теперь вопрос про функции...

InviZzzible Мудрец (10825), закрыт 4 года назад
про те функции которые генерирует объект Function. Как гласит книга эти функции можно использовать во время выполнения сценария. то есть менять тело и параметры в ходе интерпретации как только угодно как я понимаю... объявляются они при помощи new.
А при помощи new создается объект класса Function как я понял, который не может быть функцией а является функтором c возможностью расшириться до структуры...
при чем и если я использую оператор new и если я его не использую, все равно будет создаваться структура а не функция. на скрине пример с new и без. Ведут они себя одинаково. так в чем прикол этого new? надо ли его использовать или нет, и почему?
Лучший ответ
Николай Веселуха Высший разум (360634) 4 года назад
Разве что так... https://learn.javascript.ru/new-function
InviZzzibleМудрец (10825) 4 года назад
Полезная инфа. Но что обозначает аналогичный синтаксис но без new? я прост разницы не увидел.
Николай Веселуха Высший разум (360634) function Test() { if (!(this instanceof Test)) return new Test(); } let a = new Test(); let b = Test();
Остальные ответы
Ярослав Искусственный Интеллект (107837) 4 года назад
new явно инстанцирует объект Function, а вызов конструктора работает как приведение к Function - вот и вся разница. Аналогично с объектами String, Number, и т. д.
Проще говоря, практической разницы нет.
Использовать обе формы выражения создания Function, бывает реально необходимо только в очень редких случаях - новичку будет разумнее взять за правило не использовать их вовсе.
Похожие вопросы