javascript变量访问基础问题求教?

<scriptlanguage="javascript">varabc=900;functiontest(){varabc=89;//请问这里大括号内部又用var定义的变... <script language="javascript">var abc = 900;
function test()
{
var abc = 89;
//请问这里大括号内部又用var定义的变量abc是不是只能在test()方法内部使用,
//也就是调用test()方法的时候才会用到?
window.alert(abc);
}
test();//这里调用的是abc()方法内部定义的变量??
window.alert(abc);//这里调用的是方法test()外面的全局变量abc??
</script>三个问题请帮我回答一下,谢谢啦.
展开
 我来答
匿名用户
2013-08-07
展开全部
这就是一个局部变量和全局变量的问题啊。执行的结果为弹出89后弹出900。var abc = 900; //申明全局变量abc为900
function test()
{
var abc = 89; //局部变量(函数类变量,不会影响外面的abc)
window.alert(abc); //函数最终执行的方法:弹出函数里的abc,这里要说明的是 如果没有var abc=89的话。那么他就会弹出全局变量,意思就是当全局变量和局部变量同名的时候。局部变量的优先级会比全局变量高(只是针对函数内部)
}
test();//调用test(),这里因为函数里有一个var abc=89 就是我上面说的函数内优先级的问题,在这里(执行这个函数时),函数内的abc为89。所以会弹出89
window.alert(abc);//这里就是浏览器对象了。他会执行弹出全局变量。函数你不主动挂载的话。浏览器是不会自己去跑的
匿名用户
2013-08-07
展开全部
var abc = 89;//是的,这是一个局部变量test();//这是调用的test方法,而不是调用变量。window.alert(abc);//这个abc是全局变量abc,值为900
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式