Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: JavaScript Что за конструкция

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
esterio
Отправлено: 27 Июня, 2014 - 12:08:25
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Просмотр исходинака на гитхабе показал следующий код
и главное ошибок нету
CODE (javascript):
скопировать код в буфер обмена
  1. var CUSTOM_EVENT_TYPE = "dataavailable", hooks = {};
  2. ["submit", "change", "reset"].forEach((name) => {
  3.     hooks[name] = (handler) => { handler._type = CUSTOM_EVENT_TYPE };
  4. });
  5. console.log(hooks.change)

в консоли такое
Цитата:
(handler) => { handler._type = CUSTOM_EVENT_TYPE }

(Отредактировано автором: 27 Июня, 2014 - 12:12:37)

 
 Top
Viper
Отправлено: 27 Июня, 2014 - 12:21:35
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)






-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
esterio
Отправлено: 27 Июня, 2014 - 12:25:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Viper
про forEach я как раз то и знаю, меня интересует следующее(красным цветом)
esterio пишет:
hooks[name] = (handler) => { handler._type = CUSTOM_EVENT_TYPE };

(Добавление)
как оказалось это спрощеная форма записи функции
 
 Top
Panoptik
Отправлено: 27 Июня, 2014 - 13:46:58
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




это CoffeeScript конструкция преобразуется в анонимную функцию с передачей текущего контекста

CODE (javascript):
скопировать код в буфер обмена
  1. var CUSTOM_EVENT_TYPE = "dataavailable", hooks = {};
  2. ["submit", "change", "reset"].forEach((name) => {
  3.     hooks[name] = (handler) => { handler._type = CUSTOM_EVENT_TYPE };
  4. });
  5. console.log(hooks.change)


станет следующим кодом при компиляции

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var CUSTOM_EVENT_TYPE = "dataavailable", hooks = {};
  3. ["submit", "change", "reset"].forEach(function(name) {
  4.   return hooks[name] = function(handler) {
  5.      return handler._type = CUSTOM_EVENT_TYPE
  6.   };
  7. });
  8. console.log(hooks.change)
  9.  


но в кофискрипте практически не используются фигурные скобки
так что без взгляда на исходник сложно сказать со 100% уверенностью

но по сути конструкция
=>
console.log 1;
будет функция
function() {
console.log(1);
}

(a)=>
console.log a
(a)->
console.log a

даст

function(a) {
console.log(a);
}


-----
Just do it
 
 Top
IllusionMH
Отправлено: 27 Июня, 2014 - 13:49:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Panoptik, это Arrow Function из ES6. CoffeeScript в этом блоке кода и не пахнет.

upd.Ну и сюда можно заглядывать чтобы посмотреть список новых фитч и их поддержку
http://kangax[dot]github[dot]io/compat-table/es6/
upd. первая ссылка на вики теперь

(Отредактировано автором: 27 Июня, 2014 - 13:53:02)

 
 Top
Panoptik
Отправлено: 27 Июня, 2014 - 13:51:17
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




весьма познавательно. приму к сведению
(Добавление)
IllusionMH а где можно взять движок ES6 чтобы пощупать это в деле?


-----
Just do it
 
 Top
nerv
Отправлено: 27 Июня, 2014 - 14:21:34
Post Id



Посетитель


Покинул форум
Сообщений всего: 407
Дата рег-ции: Февр. 2013  
Откуда: Россия


Помог: 9 раз(а)






-----
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
 
 Top
esterio
Отправлено: 27 Июня, 2014 - 14:37:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




IllusionMH
Спасибо
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB