JavaScript
162
Вклад в тег
Какие задачи нужно уметь решать на чистом JS, перед тем как переходить к изучению библиотек и фреймворков?
Хотелось бы узнать что это за задачи(упомянутые вами 80%)
Расскажите плиз о технологии, и чем развёрнутей, тем лучше.
Так же будет Не лишним оценить технологию: плюсы, минусы, стоит ли вообще с этим работать ...
Создать новостной портал с дизайном, адаптивной версткой и посадить все это дело на Drupal за 4000р.
Молодой гусар спрашивает у поручика Ржевского, как это ему удается пользоваться таким успехом у женщин.
- Очень просто, - отвечает он, - нужно подойти к женщине и сказать: "Мадам, позвольте вам впендюрить!" И все.
- Поручик! Но ведь за такое можно и по морде!
- Можно и по морде. Но обычно впендюриваю.
(function() { ... })()var var_a = 5
(var_a) /* или */ (5) // не является ошибкой, возвращает значение переменной или выражения
function func_b() { }
(func_b) /* или */ (function func_b() { }) // не является ошибкой, возвращает ссылку на функцию
var var_c = { key: "val" }
(var_c) /* или */ ({ key: "val" }) // не является ошибкой, возвращает объект
var var_d = [ "one", "two" ]
(var_d) /* или */ ([ "one", "two" ]) // не является ошибкой, возвращает массив(func_b) - это ссылка на функцию func_b, то значит её можно сразу же вызвать.(var_c) - это объект, то значит можно сразу же использовать его(var_d) - это массив, то значит можно сразу же использовать его(func_b)() или (function func_b() { })() вызвать функцию(var_c).key или ({ "key": "val" }).key использовать объект(var_d)[0] или ([ "one", "two" ])[0] использовать массив( )function func_b() { }() ошибка "Unexpected token )"{ key: "val" }["key"]["one", "two"][0]var a = "test"
alert(a)a болтается в глобальной области видимости(function(){
var a = "test"
})()
alert(a) // недоступно, потому что она была локальной переменной внутри анонимной функции( ) пустые?function() { ... }нет формальных параметров, значит и вызывать можно без параметров.(function (w, d, $) {
// некоторым нравится сокращать код путём использования коротких имён переменных
w['fizz'] = "buzz" // вот так можно принудительно зарегистрировать
// глобальную переменную fizz
$('body').css({background: 'red'}) // вот так можно работать с jQuery через привычную $
// даже если библиотека была загружена в режиме noСonflict
}(window, document, jQuery))(function (message1, message2, empty) {
// это и есть проверка на undefined
if (message1 === empty)
alert('message1 is undefined')
else
alert('message1 = ' + message1)
if (message2 === empty)
alert('message2 is undefined')
else
alert('message2 = ' + message2)
})("test") // вызвана только с одним параметром, значит второй по имени message2
// будет пустой, а третий empty специально ввели в качестве образца
// данных с типом "undefined", для служебного использования