На самом деле я про язык JavaScript очень хорошего мнения. И могу предположить, что node.js достаточно хорошая технология. JavaScript в современном WEB мире - это как нефть, которая вредна для WEB приложений, но без которой никто не желает жить. Мой данный проэкт становиться больше. Я осознаю, что больше затрат уделено на front-end(User friendly interface, usability). Я понимаю, что к этой технологии надо отнестись очень серйозно, что б меня не уволили в дальнейшем... Просматриваю рессурс javascript.ru . Нахожу достаточно много интересных вещей, к примеру: замыкания, и оператор with.
Пример замыкания:
Замыкание позволяет создать функцию суммирования, которая работает вот так:
показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
вот и сама функция sum:
Цитирую с сайта. Напомню, что интерпретатор javascript ищет все переменные в ближайшей области видимости. Если не находит - ищет в следующей, и так далее - до глобальных переменных, т.е window.
Поэтому можно, например, делать конструкции типа такой:
Здесь переменные из разных областей видимости используются в одном выражении. Область видимости size находится внутри obj, поэтому интерпретатор будет искать weight так:
Пример замыкания:
Замыкание позволяет создать функцию суммирования, которая работает вот так:
показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
sum(a)(b) = a+b // например sum(1)(3) = 4Да, именно так: скобки - не опечатки.
вот и сама функция sum:
function sum(a) { return function(b) { return a+b } }Оператор With:
Цитирую с сайта. Напомню, что интерпретатор javascript ищет все переменные в ближайшей области видимости. Если не находит - ищет в следующей, и так далее - до глобальных переменных, т.е window.
Поэтому можно, например, делать конструкции типа такой:
with (obj) { with (size) { return weight / (width + height) } }
Здесь переменные из разных областей видимости используются в одном выражении. Область видимости size находится внутри obj, поэтому интерпретатор будет искать weight так:
- сначала посмотрит weight в size
- не найдет там такой переменной
- посмотрит weight в obj
- использует weight из obj
Комментариев нет:
Отправить комментарий