all tasks
This commit is contained in:
parent
b83f433714
commit
68f8f3e56b
14735 changed files with 178959 additions and 0 deletions
67
Task/Variables/JavaScript/variables.js
Normal file
67
Task/Variables/JavaScript/variables.js
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
// a globally-scoped variable
|
||||
var a=1;
|
||||
|
||||
// global scope
|
||||
function one(){
|
||||
alert(a);
|
||||
}
|
||||
|
||||
// local scope
|
||||
function two(a){
|
||||
alert(a);
|
||||
}
|
||||
|
||||
// local scope again
|
||||
function three(){
|
||||
var a = 3;
|
||||
alert(a);
|
||||
}
|
||||
|
||||
// Intermediate: no such thing as block scope in javascript
|
||||
function four(){
|
||||
if(true){
|
||||
var a=4;
|
||||
}
|
||||
|
||||
alert(a); // alerts '4', not the global value of '1'
|
||||
}
|
||||
|
||||
|
||||
// Intermediate: object properties
|
||||
function Five(){
|
||||
this.a = 5;
|
||||
}
|
||||
|
||||
|
||||
// Advanced: closure
|
||||
var six = function(){
|
||||
var foo = 6;
|
||||
|
||||
return function(){
|
||||
// javascript "closure" means I have access to foo in here,
|
||||
// because it is defined in the function in which I was defined.
|
||||
alert(foo);
|
||||
}
|
||||
}()
|
||||
|
||||
|
||||
// Advanced: prototype-based scope resolution
|
||||
function Seven(){
|
||||
this.a = 7;
|
||||
}
|
||||
|
||||
// [object].prototype.property loses to [object].property in the scope chain
|
||||
Seven.prototype.a = -1; // won't get reached, because 'a' is set in the constructor above.
|
||||
Seven.prototype.b = 8; // Will get reached, even though 'b' is NOT set in the constructor.
|
||||
|
||||
|
||||
|
||||
// These will print 1-8
|
||||
one();
|
||||
two(2);
|
||||
three();
|
||||
four();
|
||||
alert(new Five().a);
|
||||
six();
|
||||
alert(new Seven().a);
|
||||
alert(new Seven().b);
|
||||
Loading…
Add table
Add a link
Reference in a new issue