码迷,mamicode.com
首页 > Web开发 > 详细

关于js作用域

时间:2014-08-21 00:09:43      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   java   io   ar   问题   div   

我们知道在编程语言中,作用域的作用就是控制变量、参数的可见范围和生命周期。

js中提供了函数作用域的功效,比如在函数中定义的变量外部是无法访问到的:

function jsFunc(){
       var a = 5;  
}
alert(a); // undefined

但是js中却没有提供块作用域的功效,比如我们在java代码中如果些如下代码:

    public static Boolean b = false;
    public static void main(String[] args) {
        if(!b){
            int a = 5;
        }
        System.out.println(a); // 这里会报编译时错误
    }    

在打印输出a的时候,会报变量未定义异常。

而在js中写如下代码:

var flg = false;
function jsFunc(){
  alert(a); // undefined
if(!flg){ var a = 5; } alert(a); // 5 } jsFunc();
alert(a); // Uncaught ReferenceError: a is not defined

在它会弹出5,说明在函数内部块级元素内部单独定义的变量,在整个函数范围内是可以访问到的。

因此这就需要我们在命名变量时额外注意,避免出现参数冲的问题。

关于js作用域,布布扣,bubuko.com

关于js作用域

标签:style   blog   color   java   io   ar   问题   div   

原文地址:http://www.cnblogs.com/goupb/p/3925973.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!