6 ways to define javascript function

There are six ways/contexts in which to create functions:

1) Standard declarative notation (most familiar to people with C background)

function foo(){}

All the rest are function expressions:

2) As a method of an object literal

var obj ={ foo:function(){}};

3) As a method of an instantiated object (created each time new is exectued)

varObj=function(){this.foo =function(){};};

4) As a method of a prototype (created only once, regardless of how many times new is executed)

varObj=function(){};Obj.prototype.foo =function(){};

5) As an anonymous function with a reference (same effect as #1) *

var foo =function(){};

6) As an immediately executed anonymous function (completely anonymous)

(function(){})();

* When I look at this statement, I consider the result. As such, I don't really consider these as anonymous, because a reference is immediately created to the function and is therefore no longer anonymous. But it's all the same to most people.

 

 

see also :

http://stackoverflow.com/questions/1866084/javascript-function-declaration

http://shichuan.github.com/javascript-patterns/

你可能感兴趣的:(JavaScript)