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