Как сделать чтобы функция не создавалась
Объясните пожалуйста почему в консоли 1 и как сделать чтобы функция не создавалась?
if(false){ function a(){console.log('1')} } a() |
Вложений: 1
а вы уверены что в консоли "1" ?
PS: можно юзать анонимные функции if(false){ (function(){ alert('1'); })(); }; alert(a()); // алерт для наглядности, чтобы не смотреть в консоль |
Цитата:
if(false){ a=function(){alert('1')}; }; |
Цитата:
|
https://learn.javascript.ru/function...ion-expression
Читайте, там все написано. |
tsigel,
ИЧСХ, статья, указанная Вами начинается с бреда: Цитата:
Кстати, это не функциональное выражение, а декларация. И в той части, которая обсуждается, нет никакого противоречия с вашей бульварной статейкой Цитата:
|
indeterm,
да, функция объект. не спорю, но статья по крайней мере отражает стандарты спецификации, а вы пишете бред, потому как каждый движок может интерпретировать код по свойму (в 1, 2 или 100 проходов как угодно), лишь бы поведение кода соответствовало стандартам, и все движки отрабатывают в соответствии со стандартами. Так что ваши "куче трудноуловимых ошибок" - либо незнание стандарта, либо не понимание как работает javascript. |
Цитата:
|
Цитата:
|
Цитата:
|
indeterm,
Да, в условиях ff жгет, я знаю. В этом я не прав. |
Часовой пояс GMT +3, время: 22:34. |