js作用域的问题

来源:互联网 发布:系统优化软件 编辑:程序博客网 时间:2024/05/16 09:12

在JS规范中,不像其他语言(java等)有块级作用域之说,以具体代码为证。

1.普通代码块

     {     var num1 = 5;     //在某些语言中,代码块中定义的变量,外部是访问不到的     }     console.log(num1);//5

2.if代码块

     if (true) {     var sum1 = 7;     }     console.log(sum1);//7,代码块只要执行了就能访问到     if (false) {     var sum2 = 7;     }     console.log(sum2);//undefined

3.for代码块

    for (var i = 0; i < 10; i++) {        var ccc = "abc";    }    console.log(ccc);//"abc"    console.log(i);//10    //某些语言中变量i只能在for循环内部访问(局部变量)    //没有块级作用域 但是有函数作用域

以上是es5中的几种用法,在es6以上的规范中,通过let关键字,可以限定块级作用域,后续将进行进一步讨论。



0 0
原创粉丝点击