作用域在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作用域简单介绍下载



110 146



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



×
×
51前端

注册

×
绑定手机

请绑定手机号,在继续操作

×
单次下载支付

应付金额:279

支付完成后,回到下载页面,在进行下载

官方QQ群
意见反馈
qq群

扫描上面二维码加微信群

官方QQ群

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

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