您的位置:首页 > Web前端 > JavaScript

JS 没有块级作用域

2015-09-01 11:32 435 查看
在函数(方法)中声明的所有变量,他们在整个函数中都有定义

var scope="abc";

function f() {

  alert(scope); //显示undefine

  var scope="local";

  alert(scope); //显示local



原因:由于作用域规则的限制,输出的并不是abc。由于局部变量在真个函数体内都是有定义的,这就意味这在真个函数题中都隐藏了同名的全局变量

上面的例子和下面的效果相同:

function f() {

  var scope;

  alert(scope); //显示undefine 因为该变量虽然声明但没有初始化。

  var scope="local";

  alert(scope); //显示local

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: