Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 05.12.2013, 17:59
Профессор
Посмотреть профиль Найти все сообщения от Maxmaxmaximus3
 
Регистрация: 18.11.2013
Сообщений: 275

и если честно то я считаю это ошибкой, то что нельзя присваивать блоки. эта ошибка возникла тупо из за неоднозначности при парсинге. вот и все. в самой логике экмы такое не запрещено, блок это как запятая только круче:

return 1,2,3; вернет 3;
return {1+2; 3+4}; должно по идее вернуть 7 но парсер думает что мы декларируем обьект и кидает ошибку =)

Я считаю это глупостью, и я считаю что ни какой неоднозначности нет, парсер способен отличить декларацию обьекта от блока =) по крайней мере я бы сделал такой парсер.
Ответить с цитированием
  #12 (permalink)  
Старый 05.12.2013, 18:01
Аватар для Arramis
Кандидат Javascript-наук
Отправить личное сообщение для Arramis Посмотреть профиль Найти все сообщения от Arramis
 
Регистрация: 22.07.2013
Сообщений: 104

Сообщение от Maxmaxmaximus3 Посмотреть сообщение
это как ретурн принимает блоки, только наоборот, глупенький =)
извини, но я твой инопланетный язык не понимаю вообще ни в какую, как может ретурн что то принимать ??? это интструкция для возврата результата(в js любое корректное выражение) выполнения функции. return означает возвращать а не принимать.
Ответить с цитированием
  #13 (permalink)  
Старый 05.12.2013, 18:34
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,230

Сообщение от Maxmaxmaximus3 Посмотреть сообщение
всему тебя учить =)
alert( eval('{1+2}') )

ивал возвращает результат последнего выражения ...
У автора был ивал?

alert({2+1});

Цитата:
Syntax error at line 13 while loading: syntax error
alert({2+1});
--------^
Ответить с цитированием
  #14 (permalink)  
Старый 05.12.2013, 18:35
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,230

Сообщение от Maxmaxmaximus3
и если честно то я считаю это ошибкой
Я патсталом...

Сообщение от Maxmaxmaximus3
return {1+2; 3+4}; должно по идее вернуть 7 но парсер думает что мы декларируем обьект и кидает ошибку =)
Т.е. вся твоя логика и знание идут в лес...
Ответить с цитированием
  #15 (permalink)  
Старый 05.12.2013, 18:38
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,230

Сообщение от Maxmaxmaximus3
Я считаю это глупостью, и я считаю что ни какой неоднозначности нет, парсер способен отличить декларацию обьекта от блока =) по крайней мере я бы сделал такой парсер.
Ну тут диагноз однозначно...
Ответить с цитированием
  #16 (permalink)  
Старый 05.12.2013, 19:00
Профессор
Посмотреть профиль Найти все сообщения от Maxmaxmaximus3
 
Регистрация: 18.11.2013
Сообщений: 275

Сообщение от ksa
У автора был ивал?
нет
Сообщение от ksa
Я патсталом...
почему?
Сообщение от ksa
Ну тут диагноз однозначно...
какой диагноз? чо ты несешь, поехавший?

Сообщение от Arramis
как может ретурн что то принимать
ну, смотри, ретурн унарный оператор и принимает на вход значение справа. тебе стоит почитать стандарт, и ты поймешь как операторы могут что-то принимать)

Сообщение от Arramis
return означает возвращать а не принимать.
оо, вон оно как.. буду знать, спасибо =)


У меня начинает создаваться впечатление что обитатели этого форума на столько тупые что за исключением 1-3 человек даже не понимают о чем я говорю =) ну то есть они на столько технически не грамотные, что вещи о которых я им говорю им кажутся магией, или я не прав?


Сообщение от Arramis
извини, но я твой инопланетный язык не понимаю вообще ни в какую, как может ретурн что то принимать ??? это интструкция для возврата результата(в js любое корректное выражение) выполнения функции. return означает возвращать а не принимать.
если честно я в голос проиграл )))))

Это называется дядя Леша зашел в раздел общи вопросов где новички сидят

ksa, чувак, ладно он, но я не думал что ТЫ такой нуб.. Не, ну правда... Сравни карму свою и мою. Как так можно то?

А это вам нубам на закуску =)





дело в том что блоки не могут участвовать в выражениях, из за возможности перепутать их с обектами =) но я считаю что там неоднозначности нет и я бы написал такой парсер который бы корректно хавал это =)

Вот кстати вам еще один пример некорректного парсинга:



Грубо говоря они прописали правило "блоки не могут учавствовать в выражениях" и он думает что {34} + 11 это {34}; +11

В принципе может это и логично так как нет острой необходимости использовать блок в выражениях, а парсинг при этом усложняется и держу пари там есть какие-то неоднозначности, но я думаю все же можно обойти их. я бы обошел.

Последний раз редактировалось Maxmaxmaximus3, 05.12.2013 в 20:01.
Ответить с цитированием
  #17 (permalink)  
Старый 05.12.2013, 20:00
Профессор
Посмотреть профиль Найти все сообщения от Maxmaxmaximus3
 
Регистрация: 18.11.2013
Сообщений: 275

Ну чо, куда вы подевались то)? Я хочу наслаждаться вашими глазами сфоткайте пожалуйста ваши лица ^__^ я хочу на них посмотреть щас.
Ответить с цитированием
  #18 (permalink)  
Старый 05.12.2013, 20:26
Аватар для Arramis
Кандидат Javascript-наук
Отправить личное сообщение для Arramis Посмотреть профиль Найти все сообщения от Arramis
 
Регистрация: 22.07.2013
Сообщений: 104

Maxmaxmaximus3
ты своими фанатическими домыслами не сумеешь ниче тут доказать/опровергнуть.
Специально ради тебя полез в стандарт ecma проверить инструкцию return.
return statement. Там не говорится что return принимает данные и точка. return возращает, принимая результат выполнения функции. Важен конечный результат инструкции, а не начальный. Иди своим колхозным подходом студентов однокурсников запугивай.
Ответить с цитированием
  #19 (permalink)  
Старый 05.12.2013, 20:33
Профессор
Посмотреть профиль Найти все сообщения от Maxmaxmaximus3
 
Регистрация: 18.11.2013
Сообщений: 275

я не понял твою мысль, я что-то не так говорю что не является правдой? ВОПРОС: что?
Ответить с цитированием
  #20 (permalink)  
Старый 05.12.2013, 20:36
Аватар для Arramis
Кандидат Javascript-наук
Отправить личное сообщение для Arramis Посмотреть профиль Найти все сообщения от Arramis
 
Регистрация: 22.07.2013
Сообщений: 104

Maxmaxmaximus3,
твои слова не имеют практического значения
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов функции Hol1killer Prototype & script.aculo.us 11 05.12.2016 01:37
скрипт вставить bb-коды в мою форму ПОМОГИТЕ адаптировать Краса Общие вопросы Javascript 4 14.03.2013 00:33
Помогите разобраться ŞΘLƉiΞR Общие вопросы Javascript 2 28.08.2012 11:57
регулярки: замена ссылки на ютуб Hekumok Общие вопросы Javascript 105 01.08.2012 10:48
Свойства посредством полиморфных функций tenshi Ваши сайты и скрипты 0 18.03.2010 17:12