麻烦老师解释一下课程中讲的那个for(var i;..;..)的例子
那个地方的变量是什么?它的生命周期是什么?对于它我应该如何理解?
4
收起
正在回答
2回答
你好同学,解答如下:
1.变量是什么类型,看它赋值即可。这里是给它初始化为0,所以i是数值类型。
2.不能说它在没有在这个块里,因为在js中是没有块级作用域的,即for不会形成块级作用域,所以这里的i是全局变量。因为在es6中才会有块级作用域的概念,所以课程中老师做了假设对比了一下。因为后面阶段才会讲到es6,所以老师简单的为你讲解,等同学学习了后面的知识,再过来回顾就好理解了哦。
假设如下是在es6中,for会形成一个块级作用域,那么i只能在for循环中访问,在外部访问不到。
而目前我们使用到的js (可以说出es5) ,是没有这个块级作用域概念的,只有函数会形成一个局部作用域,所以在函数之外的其他地方声明变量,都是全局变量。
祝学习愉快,望采纳。
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星