JavaScript之变量

//函数中声明的所有变量,无论是在哪里声明的,它整个函数中它们都是有定义的。这与C、C++和java不同,JavaScript没有块级作用域。

function test(o){

var i = 0;

if(typeof o == "object") {

var j = 0;

for(var k=0;k<10;k++){

document.write(k);

}

document.write(k);

}

document.write(j);

}

由于以上的程况,可能会造成以下的问题,所以建议将所有变量的声明集中起来放置在函数的开头

var scope = "global";

function f(){

alert(scope); //display "undefined" , not global

var scope = "local"; //variable initialized here , but defined everywhere

alert(scope); //display "local"

}

上面f()函数等价于:

function f(){

var scope;

alert(scope);

scope = "local";

alert(scope);

}