作用域在js中是一个重要的概念,是必须要掌握且必须要掌握好的概念,下面就通过代码实例做一下简单介绍希望能够对初学者带来一定的帮助。在C#或者java等语言中,每一对大括号({})都会形成一个作用域,也就是说具有块级作用域,但是在javascript中并没有块级作用域,取而代之的是函数作用域(function scope),也就是说变量在它声明的函数体内或者嵌套在此函数体内的函数体中都是可见的。代码实例如下:
   [ 其他 ] 运行代码    下载代码
<script>
function a(){
  var num=1;
  function a_1(){
    console.log(num);
  }
  a_1();
}
a()
</script>
变量的num在函数a中和嵌套在a中的a_1中都是可见的。不过不能够在函数a外面使用。这里需要注意的是,声明变量num是使用var运算符,如果不使用var声明的话,那么次变量的作用域就是全局的,代码实例如下:
   [ 其他 ] 运行代码    下载代码
<script>
function a(){
  num=1;
  function a_1(){
    console.log(num);
  }
  a_1();
}
a();
console.log(num);
</script>
从以上代码的输出值可以看出num变量虽然在函数a中声明的,但是并没有使用运算符var,所以它的作用域是全局的,在函数体外面也是可见的。

变量的声明会被前置:

无论变量声明在函数体内何种位置,在整个函数体内都是可见的,这就是所谓的"声明提前",代码如下:
   [ 其他 ] 运行代码    下载代码
<script>
function a(){
  console.log(num);
  var num=1;
}
a()
</script>

代码描述:javascript作用域,javascript作用域简单介绍下载



5 6



用户评论
大牛,别默默的看了,快登录帮我点评一下吧!:)      登录 | 注册


热门标签: js js代码 js实例 javascript javascript代码 javascript实例 js作用域 javascript作用域

×
×

注册

官方QQ群

扫描上面二维码加微信群

官方QQ群

jQuery/js讨论群
群号:642649996
Css3+Html5讨论群
群号:322131262

加群请备注:从官网了解到