<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
</body>
</html>
<script>
/*var a = 1;
function show() {
alert(a*5);
var a = 2;
alert(a * 1);
};
show();*/
var a = 1;
function show() {
alert(a * 2);
};
show();
</script>
预编译 js 很奇怪,为什么一个是NAN,一个却能打出来
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
danielinbiti 2016-06-02 12:50关注var a = 1; function show() { alert(a*5); var a = 2; alert(a * 1); 这个翻译成通俗的就是 var a=1; function show(){ var a; alert(a*5); a=2; alert(a*1); } 也就是方法内,用的a是局部变量 var a = 1; function show() { alert(a * 2);}中,因为方法内没有重新定义,默认使用全局变量a解决 无用评论 打赏 举报