Scope
var foo = function(){
var a = 3,b=5;
var bar = function(){
var b = 7,c=11;
//此时 a=3,b=7,c=11
a += b+c;
//此时a=21,b=5,c=11
}
//此时a=3,b=5,c未定义
bar();
//此时 a=21,b=5
}
1.
var a = 1;
function one(){
alert(a);
}
one(); // 输出 1
2.
var a = 1;
function two(a){
alert(a);
}
two(2); //输出 2
function three(){
var a = 3;
alert(a);
}
three() //输出3
3.
var a = 1;
function four(){
if(true)
var a = 4;
alert(a);
}
four(); //4
4.
var a = 1;
function five(){
this.a = 5
alert(a);
}
five(); //5
5.
var a = 1;
var six = (function(){
var foo = 6;
return function(){
alert(foo)
}
})()
six() //6
6.
var a = 1;
function seven(){
this.a = 7;
}
seven.prototype.a = -1;
seven.prototype.b = 8;
alert(new seven().a); //7
alert(new seven().b); //8
7.
var x = 5;
(function (){
alert(x); //undefined
var x = 10;
alert(x); //10
})()
8.
var e = 5;
alert(e);
try{
throw 6;
}catch(e){
alert(e);
}
alert(e); //分别输出5 6 5