Skip to content

Commit

Permalink
Functions Training added & minor changes in singleton
Browse files Browse the repository at this point in the history
  • Loading branch information
L0stSoul authored and L0stSoul committed Nov 21, 2011
1 parent 8a8870b commit ec28d56
Show file tree
Hide file tree
Showing 7 changed files with 173 additions and 0 deletions.
15 changes: 15 additions & 0 deletions Functions/HTMLPage.htm
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Functions</title>
<script src="Scripts/definitions.js" type="text/javascript"></script>
<script src="Scripts/immidiate-function.js" type="text/javascript"></script>
<script src="Scripts/self-defining-function.js" type="text/javascript"></script>
<script src="Scripts/init-time-branching.js" type="text/javascript"></script>
<script src="Scripts/Curry.js" type="text/javascript"></script>
</head>
<body>

</body>
</html>
22 changes: 22 additions & 0 deletions Functions/Scripts/Curry.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@

(function(){
console.log("//curry");

function curry( fn ){
var slice = Array.prototype.slice,
storedArgs = slice.call( arguments, 1 );

return function() {
var args = storedArgs.concat( slice.call( arguments ) );
return fn.apply( null, args );
}
}

function printMessage( author, message ){
console.log( author + " say: " + message )
}

var printMyMessage = curry( printMessage, "me" );

printMyMessage( "I would like to tell you about birds and bees in js world" );
})();
73 changes: 73 additions & 0 deletions Functions/Scripts/definitions.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@

console.log("// function definition samples");

//sample a
(function(){
function a() { console.log(1); }
b = function() { console.log(2); }
})();

//sample b
(function(){
console.log( "sample b" );
b();

function b() { console.log(1); }

/* function b() { console.log(1); }
* b();
*
*/
})();

//sample c
(function(){
console.log( "sample c" );
function c() { console.log(1); }

c();

function c() { console.log(2); }

/* function c() { console.log(1); }
* function c() { console.log(2); }
* c();
*/
})();

//sample d
(function(){
console.log( "sample d" );
try{
d();

var d = function() { console.log(2); }
}
catch( e ){
console.log( e )
}
/* var d = undefined;
* d();
* d = function() { console.log(2); }
*/
})();

//sample e
(function(){
console.log( "sample e" );
var e = function(){ console.log(1); }

e();

e = function() { console.log(2); }
})();

//sample f
(function(){
console.log( "sample f" );
var f = function() { console.log(1); }
f();

function f(){ console.log(2); }
f();
})();
12 changes: 12 additions & 0 deletions Functions/Scripts/immidiate-function.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@

console.log("//immidiate function");

//sample a
(function(){
console.log( "a" );
})();

//sample b
(function(){
console.log( "b" );
}());
37 changes: 37 additions & 0 deletions Functions/Scripts/init-time-branching.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@

console.log("//init-time branching");

// sample bad;
(function(){
function saySomethingClever(){
var appleTest = /Apple/i;
var googleTest = /Google/i;

if( appleTest.test(navigator.vendor) ) console.log("I love apples <3")
else if( googleTest.test(navigator.vendor) ) console.log("android is everything for me <3")
else console.log("i love this unpopular corporation too")
}

saySomethingClever();

})();

// sample good;
(function(){

var saySomethingClever;

(function(){
var appleTest = /Apple/i;
var googleTest = /Google/i;

if( appleTest.test(navigator.vendor) )
saySomethingClever = function(){ console.log("I love apples <3"); }
else if( googleTest.test(navigator.vendor) )
saySomethingClever = function(){ console.log("android is everything for me <3"); }
else saySomethingClever = function(){ console.log("i love this unpopular corporation too"); }
})();

saySomethingClever();

})();
13 changes: 13 additions & 0 deletions Functions/Scripts/self-defining-function.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
console.log("//self-defining-functions");

function selfDefining()
{
console.log("some really heavy initialization occured");
console.log("f*ck yeah!");
selfDefining = function(){
console.log("job done!");
}
}

selfDefining();
selfDefining();
1 change: 1 addition & 0 deletions Patterns/Scripts/Singleton.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ var Singleton_B;
(function(){
var instance;
var anticlone_proxy;

Singleton_B = function(){
if( instance ){ return instance; }

Expand Down

0 comments on commit ec28d56

Please sign in to comment.