Archive for November 2011

Do you know JavaScript?

November 12, 2011

Mind blowing one!

Michael Woloszynowicz has noticed many people adding ‘JavaScript’ to their resumes without really understanding it. He explains what he feels different levels of JS developers should know and why it’s important.

Here you go!

[ Just a copy & paste from www.w2lessons.com article http://goo.gl/x156J ]

A basic level of understanding for JavaScript includes:

  • Knowing the syntax of basic programming tools such as loops, if statements, try/catch, etc.
  • Understanding function definitions including the various ways they can be defined and assigned, as well as anonymous functions
  • Understanding basic scope principles, global (window) scope versus object scope (closures excluded)
  • Understanding the role of context and the use of the ‘this’ variable
  • Understanding the different ways to instantiate and declare an object as well as functions as objects
  • Understanding JavaScript comparison operators like ‘<‘, ‘>’, ‘==’, ‘===’,  what is falsy, and how object and string comparison works, as well as casting
  • Array indexing for object attributes and functions and how this differs from actual arrays (object literals vs. array literals)

An intermediate level of understanding includes:

  • Understanding timers, how they work, and when/how they can be useful as well as asynchronous method execution
  • In depth knowledge on callbacks and function application such as the ‘call’ and ‘apply’ methods for controlling context and function argument passing
  • Understanding JSON notation and the ‘eval’ function
  • Understanding closures, how they affect the performance of your code, and how they can be used to create private variables, along with the lovely (function(){})() call
  • AJAX and object serialization

An advanced level of understanding includes:

  • Understanding a methods ‘arguments’ variable and how it can be used to overload functions through arguments.length and make recursive calls through arguments.callee. It should be noted that use of arguments.callee can be dangerous as ECMAScript 5 Strict Mode doesn’t support it, although both jQuery (up to 1.4) and Dojo take advantage of it.
  • Advanced closures such as self-memoizing functions, currying, and partially applied functions
  • Function and html prototyping, the prototype chain, and how to use base JavaScript objects and functions (e.g. Array) to minimize coding
  • Object type and the use of instanceof and typeof
  • Regular expressions and expression compiling
  • With statements and why you shouldn’t use them
  • The most difficult part of all, knowing how to tie all these tools together into clean, robust, fast, maintainable, and cross browser compatible code.
Hope, you would feel great, reading this. And also i see that you started sharpening you! 🙂

Mozilla releases Firefox 8.0

November 9, 2011

Firefox 8.0 has introduced several new features. Some of them are below:

  • Including a built-in Twitter search option
  •  Better management of add-ons and tabs. Firefox 8 will disable add-ons installed by third-parties by default, and you have to pick the ones you want to keep
  •  Plus the usual performance and stability fixes
  •  Continues to support HTML5 markup as well & etc
Few notes for Developers about the updates (too much info):
Firefox releases & roadmap:
Happy browsing!