我是靠谱客的博主 舒心汉堡,最近开发中收集的这篇文章主要介绍JavaScript变量穿透,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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变量穿透所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(80)

评论列表共有 0 条评论

立即
投稿
返回
顶部