Java-Script
Библиотеки скриптов
Сайты
Песочницы/SandBox
Программное обеспечение
Библиотеки
Шаблогизаторы
Скрипты
Отладка / Chrome DevTools
MVC (Model Views Controller) Framework
MCV (Model Collection Views) Framework
- Backbone.js
Лямбда функции
+function(y){return y+1;}(6);
Функции
# Функция с определенным кол-вом параметров function f(a, b, c, d){ console.log(a + b + c + d)} # Обычный способ вызова f(1,2,3,4); # f.call() # Метод call жёстко фиксирует количество аргументов, через запятую f.call(context,1,2,3,4); # Вызов функции при помощи func.apply работает аналогично func.call, но принимает массив аргументов вместо списка: f.apply(context,[1,2,3,4]);
При помощи call/apply можно легко взять метод одного объекта, в том числе встроенного, и вызвать в контексте другого.
function sayHi(){ # Используем эту технику для упрощения манипуляций с arguments. Как мы знаем, это не массив, а обычный объект.. Но как бы хотелось вызывать на нём методы массива. arguments.join=[].join;// одолжили метод (1) var argStr = arguments.join(':');// (2) alert(argStr);// сработает и выведет 1:2:3 } sayHi(1,2,3);
Пример JS.Include
Html:
<scripttype="text/javascript">var STATICVER = 83;</script>
Java-script:
try{ js ={"STATICVER": STATICVER};} catch(e){ js ={};}; js.include=function(path){if(typeof(this.STATICVER)=="undefined"){ this.STATICVER =newDate().getUTCDate();} document.write('<script type="text/javascript" src="'+ path.replace('STATICVER', this.STATICVER)+'"></sc'+'ript>');} js.dynamicInclude =function(path, callback){if(typeof(this.STATICVER)=="undefined"){ this.STATICVER =newDate().getUTCDate();} $.ajax({ dataType:"script", cache:true, url:"/js/"+ this.STATICVER +"/"+ path }, callback);} js.include('/js/STATICVER/crimea.js');
Минимизация/сжатие
Статьи
Обещания / Promises
- JQuery
Паттерн стратегии на Java-Script
var Animal =function(){} Animal.prototype.say=function(t){} var Dog =function(){}var Cat =function(){} var Say =function(obj){ obj.say();}; Dog.prototype.say=function(){ Animal.prototype.say.call(this); console.log('gav');} Cat.prototype.say=function(){ Animal.prototype.say.call(this); console.log('myau');} var dog =new Dog();var cat =new Cat(); Say(cat); Say(dog);
Ссылки
Видеоуроки
Библиотеки
Q-A
- Q:Wait until all jquery ajax request are done?
Q-A
- Какполучить размер ассоциативного массива?
- Object.keys(data.data).length где data.data - является массивом