JavaScript 中的变量作用域

2017-10-30  本文已影响0人  页面仔小杨

JavaScript 中的变量作用域


JavaScript中的变量作用域被定义为函数作用域。

变量的值在定义该变量的函数内是可见的,并且定义在该函数内的嵌套函数中也可访问该变量。

栗子1:

function showStr() {

  return str

}

var str = ''global";

console.log(str) // "global"

console.log(showStr()) //"global"

在主程序中,如果在函数外定义了一个变量,那么该变量拥有全局作用域。

栗子2:

function showStr() {

  var str = "local";

  return str;

}

var str = "global";

console.log(str); // "global"

console.log(showStr()); // "local"

showStr() 函数内定义的变量str拥有局部作用域,而在主程序中定义的变量str是一个全局变量。尽管两个变量名字相同,但他们的作用域不同,在定义他们的地方访问时得到的值也不一样。

栗子3:

function showStr() {

  str = "local";

  return str;

}

str = "global";

console.log(str); // "global"

console.log(showStr()); // "local"

console.log(str); // "local"

如果在定义变量时省略了关键字var,那么定义的变量自动拥有了全局作用域,即使你是在一个函数中定义的该变量,它也是全局变量。

上一篇 下一篇

猜你喜欢

热点阅读