概述
javascript是一门弱类型语言,没有java的那种严格性,在javascript和java中都有for循环,用于便利数据。但是在javascript中会出现这样一种怪情况,就是变量穿透问题。
js代码:
<script type="text/javascript">
for(var i = 0; i < 10; i++){
document.write(i);
}
alert("可以获取到变量i:-->"+i);
</script>
这就是变量穿透,这是javascript中语法导致的,无法改变。变量i本是在for的作用域中,在外面应该是获取到到了,但是现在获取到了。而在java中就不会出现这种情况,甚至连编译都通不过。
java代码:
public class ForTest {
public static void main(String[] args){
for(int i = 0; i < 10; i++){
System.out.println(i);
}
System.out.println(i);
//error:i cannot be resolved to a variable
}
}
如果用forEach就不会出现上面的这种情况。因为forEach中不存在索引这一说法,自然在外部取不值。
最后
以上就是舒心汉堡为你收集整理的JavaScript变量穿透的全部内容,希望文章能够帮你解决JavaScript变量穿透所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复