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", для служебного использования