Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 10.12.2012, 00:48
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

> пруф или сам знаешь кто

я тебе рассказал как работают парсеры. не веришь - открой исходники и посмотри.

> var q = 1 var w = 11

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

if( false ) ; else alert(1)
if( false ) {} else alert(1)
__________________
.ня
Ответить с цитированием
  #22 (permalink)  
Старый 10.12.2012, 01:11
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Shitbox2
JS работает и без ; в конце строки и лично мне удобнее их вовсе не ставить, но есть подозрения, что многие оптимизаторы кода заглохнут из-за этого. Опасения оправданы?
точки с запятой - это как бриться по утрам, приводиться себя в порядок. Побрился, вышел на улицу и тебе все деФченки улыбаются А не побрился..., фу таким быть
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #23 (permalink)  
Старый 10.12.2012, 08:20
Аспирант
Отправить личное сообщение для vashurin Посмотреть профиль Найти все сообщения от vashurin
 
Регистрация: 01.04.2008
Сообщений: 52

Сообщение от Shitbox2 Посмотреть сообщение
JS работает и без ; в конце строки и лично мне удобнее их вовсе не ставить, но есть подозрения, что многие оптимизаторы кода заглохнут из-за этого. Опасения оправданы?

Ну и в дополнение, какой оптимизатор посоветуете? Есть ли он онлайн?
Заглохнут. Да и понять будет не возможно, что вообще написано.
Вот 2 кода, первый без ";", а второй с ";". Первый не читаемый и не рабочий. Второй читаем и работает.
function A(){
	this.method1 = function(){alert('ok')}
}
var a=new A (function(){alert('ok')})()


function A(){
	this.method1 = function(){alert('ok');}
}
var a=new A; (function(){alert('ok')})();

Притом первый код я разбил на строки, а так, это был реальный кусок кода, который был вытянут в строку после сжатия какой то программой оптимизации.
Ответить с цитированием
  #24 (permalink)  
Старый 10.12.2012, 11:23
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

> точки с запятой - это как бриться по утрам, приводиться себя в порядок. Побрился, вышел на улицу и тебе все деФченки улыбаются А не побрился..., фу таким быть

ну так и побрей свой код от этой щетины ;;;;

> покажи ка замеры тестирования скорости

а у самого ручки отсохли? http://jsperf.com/semicolons

> ответь ка из каких токенов состоит лексема декларации функции, просто я вижу ты разбираешься, а я вот все понять этот момент ни как не могу) не поможешь братишка)?

читай. вникай. развивайся.

> А вот тут ты нам наглядно продемонстрировал что это не просто ни чего не делающий оператор, а именно разделитель выражений

в таком случае {} - тоже всего-лишь разделитель выражений
__________________
.ня
Ответить с цитированием
  #25 (permalink)  
Старый 10.12.2012, 11:27
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

Сообщение от vashurin Посмотреть сообщение
Притом первый код я разбил на строки, а так, это был реальный кусок кода, который был вытянут в строку после сжатия какой то программой оптимизации.
ну так не используй эту "какую-то" программу оптимизации.
__________________
.ня
Ответить с цитированием
  #26 (permalink)  
Старый 10.12.2012, 11:33
Аспирант
Отправить личное сообщение для vashurin Посмотреть профиль Найти все сообщения от vashurin
 
Регистрация: 01.04.2008
Сообщений: 52

Сообщение от tenshi Посмотреть сообщение
ну так не используй эту "какую-то" программу оптимизации.
tenshi, вы работали когда нибудь с чужим кодом?
Код был не мой, и сжимал его программой не я (даже не знаю чем вообще его сжимали). Просто будучи фрилансером, однажды разбирал чужой код. Для клиента была тайна, покрытая мраком, почем после оптимизации рабочий код, переставал работать. А автор кода "канул в лету". Оказалась как раз дело в ";".

Хотя, tenshi, лучше не ставьте ";", честное слово, мне больше денег будет .
Ответить с цитированием
  #27 (permalink)  
Старый 10.12.2012, 11:39
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

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



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно доработать меню за плату, js lumb Работа 1 09.12.2012 14:31
Нужно ли удалять события в js? dmitry111 Оффтопик 31 27.11.2012 12:27
Не получается передать переменную из JS в PHP Lion_astana AJAX и COMET 2 23.11.2010 17:23
Самая лучшая книга по JS? ulandj Оффтопик 2 06.04.2009 11:35
Нужно с помощью JS записывать данные в БД d!mm Общие вопросы Javascript 2 01.11.2008 18:36