Javascript Optimization Intro

Preview:

DESCRIPTION

An Introduction for Javascript Optimization techniques and deals aboutthe concepts of GC (Mark and Sweep) technique

Citation preview

Developer’s Life..!

Strictly Questions at last

Who am I?

• rampicos.wordpress.com• twitter.com/rampicos• facebook.com/raamkumar.m• Code• Ramkumar Murugadoss

What is JavaScript

• Javascript is the Programming language, first emerged to make dynamic scripts for Web pages

• What do you think about Javascript?

Why Javascript

• What we use for: Programming Language for Web Pages

• How it was in current: Programming Language for Server-side too

• In near future: It is most wanted huge Programming Language for all

– (Harish don’t ask how?)

Best Practices

• All know Javascript• Everyone can code in Javascript• All we want to know, how efficiently we will

write JS

About GC

• GC is automatic• Objects are collected there is no references

longer• Javascript Uses Mark and Sweep GC method

Avoid the global scope

• In the Global scope the Object never null, so never garbage collected

• It’s time taking and trivial process to get the reference of global scope

• If need to use global scope assign yourself null after the use

Use Var

• Don’t forget to use var for all your variables• The Variables without var may considered to

global• You are making javascript to struggle for

finding the scope of your variable

Get Use of Self-Calling Functions

• Have any one noticied jQuery using self calling functions

Make your loops more efficient

Conditional Branching

Creating Arrays and Objects

• Use [] instead of Array– Use arrayVariable[length] = value instead of arrayVariable.push(value)

• Use {} instead of Object

Closures

• A closure is a special kind of object that combines two things: a function, and the environment in which that function was created

• The environment consists of any local variables that were in-scope at the time that the closure was created

Closures Cond…

Closures Cond…

Remove all your event listeners

• The event you added or binded must be removed when it is not in use

Namespaces

• this prevent the global scope pollution• this protect your code from colliding with

other code or libraries

Building String in Loops

Coding Practice

OOPs

• Everything in Javascript is Object based, (note there is no keyword called class in JS)

• Now the question is then how can I create the Objects and its functions?

OOPs cond

• Creating functions in JS is considered to the Object, using prototypes you can define methods for that

Any Guess

• What is the difference between this two codes

Don’t D.R.Y

• Make the reusability• Make use of Namespace

CommonJS

• The Biggest feature introduced from Node.js for reusability is CommonJS

• Make your functions as unique namespaced modules and get to use of that

• We have exports.yourfunction and module.exports as 2 ways to create CommonJS modules

• Woow now browsers support CommonJS with some libraries

exports.your function

module.exports

• Javascript is Ocean we can’t cross that by swim within 60 Mins.

• Time permits we can have another session on this after sometime

Time is Yours

Show Ends