Tools
CommonJS
browserify
Converts node's CommonJS module for browser usage
OOP
ECMA-262-3 in detail. Chapter 7.2.
OOP: ECMAScript implementation. Mixu's Node book: 6. Objects and classes by example Single page apps in depth Inheritance revisited
javascript inheritance pattern comparison
Understanding the four layers of JavaScript OOP
JAVASCRIPT AND OBJECT MODELS
POJOs - Plain Old JavaScript Objects util.inherits Classical ES6 OOPOOP (tee hee!)
Learning JavaScript Design Patterns
Constructor Pattern Module Pattern Revealing Module Pattern Singleton Pattern
Observer Pattern
Publish/Subscribe Pattern
Ben Alman's Pub/Sub gist Rick Waldron's jQuery-core style take on the above Peter Higgins" plugin AppendTo's Pub/Sub in AmplifyJS Ben Truyman's gist _.template()
Mediator Pattern Prototype Pattern Command Pattern Facade Pattern Factory Pattern Mixin Pattern Decorator Pattern Flyweight Pattern
Book: Human JavaScript
DOM
Elements
Retrieve the position (X,Y) of an HTML element Coordinates
Docs
JavaScript Tutorial JavaScript Garden
is a growing collection of documentation
about the most quirky parts of the JavaScript programming language
CSS Frameworks
Topcoat
High performance
Performance
JavaScript Performance Tuning Secrets
Conferences / Video
JSConf
Amazing tutorials
Rus
Всё только о JavaScript
document.write undefined != undefined
Массивы в JavaScript
Что такое массивы в JavaScript Создание массивов Добавление и удаление элементов Перебор элементов Итераторы Поиск элементов Инверсия, сортировка и перемешивание массивов Объединение, деление и клонирование массивов Преобразование в строку и обратно Не только массивы
Отложенные вычисления
Функции setTimeout и setInterval Использовать ли setInterval Паттерны использования Очень быстрый setTimeout
JavaScript Exercises
References
EcmaScript 5 / 6 browser compatibility Browserversion DOM method availability Check if the function available:
var hasMutationEvents = ("MutationEvent" in window); http://www.quirksmode.org
Collection of DOM differences and workarounds Wow Javascript, Such Good Conventions, Much Sense Frontend Development
JavaScript frameworks
AngularJS
Tutorials
LearnAngular
Write Code. Learn Angular.
Learn AngularJS with free interactive lessons.
Getting Started Basic Directives Two-way bindings Binding CSS classes Repeaters Visibility Services Enriching Applications
ANGULARJS BEST PRACTICES: I’VE BEEN DOING IT WRONG!
PART 1 OF 3 PART 2 OF 3 PART 3 OF 3
Articels
AngularJS: 6 Common Pitfalls Using Scopes
Learning AngularJS
Link collection
JavaScript Editors and Tools
Editors
Brackets
Monkey
Patching
> console.log
Where is that console.log?
Upgrading log to show where logging is happening
Learning Plan
I want to become more experienced with
Javascript; what's a good next step?
Yes, learn jQuery
Re-invent the DOM wheel, create your own jQuery
10 Things I Learned from the jQuery Source
Implement lazy iterators or lazy streams Learn about CPS, implement Promises/A Read Learn You a Haskell for Great Good and apply concepts in JavaScript, following the Fantasy Land Specification Learn AltJS languages: CoffeeScript, LiveScript, TypeScript, PureScript
JavaScript -- Core
Array.prototype.reduce()
Find the index of the
smallest element in
a JavaScript array
bind, call, apply
return a.indexOf(Math.min.apply(Math, a));
JavaScript Performance
Browserscope is a community-driven project for profiling web browsers.
The goals are to foster innovation by tracking browser functionality and
to be a resource for web developers. http://jsperf.com/browse
Libraries
UnderscoreJS
Lo-Dash
Moment.js
Hacks
Convert
String to number
var str = "1234";
console.log(Number(str) + 6);
console.log(parseInt(str, 10) + 6);
console.log(+str + 6);
If falsie
var str = "A am not a number!";
console.log(+str || 10);
Output: 10
What values are equivalent to false in JavaScript?
( null ? true : false ); // false ( 0 ? true : false ); // false ( "" ? true : false ); // false ( false ? true : false ); // false ( NaN ? true : false ); // false ( undefined ? true : false ); // false
WebPerformance
Web Performance Optimization дайджест #0
Hacks, Tips, Tricks
Script free page - Unobtrusive JavaScript / jQuery
Demo
Number
parseFloat(toPrecision(12))
Videos
Drawing Dynamic Visualizations
Special
Reading form Google Spreadsheet
Google Spreadsheet Javascript mikeymckay/google-spreadsheet-javascript Access Google Spreadsheet or Google Data API only with Javascript Simple example of retrieving JSON feeds from Spreadsheets Data API Using Google Spreadsheet as a database Hamster spreadsheet