62,025
社区成员
发帖
与我相关
我的任务
分享
var aNumber = 100;
tweak();
function tweak()
{
alert(aNumber);
if (false)
{
var aNumber = 123;
}
}
var aNumber = 100;
tweak();
function tweak(){
var aNumber;
alert(aNumber);
if (false)
{
aNumber = 123;
}
}
所以,后面的if可以直接无视它,影响不到结果alert(a);//function a(){alert(20);}
var a=1;
alert(a);//1
function a()
{
alert(10);
}
alert(a);//1
a=4;
function a()
{
alert(20);
}
a();//报错
<script>
var aNumber = 100;
tweak();
function tweak() {
alert(aNumber);
if (false) {
var aNumber = 123;
}
// alert(aNumber);
}
</script>
加上注释的这行就能明白了,局部变量放置在栈上,和声明的位置没关系。
if(false)
{
//code
}
这里面的代码 根本不执行吧....但是加上之后 在弹出a就不对了..
$(document).ready(function(){
var a=1;
$(".btn1").click(function(){
if(true)
{
var a=2;
}
alert(a);
});
});
弹出2
$(document).ready(function(){
var a=1;
$(".btn1").click(function(){
if(false)
{
var a=2;
}
alert(a);
});
});
弹出Undefined