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); 

}

posted on 2012-05-29 10:37  lee0oo0  阅读(159)  评论(0编辑  收藏  举报