关于javascript对象声明的问题

比如如下代码:vartimer1;vartimer2;vartimer3;functionaa(i){vartimer;switch(i){case1:timer=tim... 比如如下代码:
var timer1;
var timer2;
var timer3;
function aa(i){
var timer;
switch(i)
{
case 1:
timer = timer1;
break;
case 2:
timer = timer2;
break;
case 3:
timer = timer3;
break;
}

如果这样子运行的话会出错,提示"timer"未定义,这是为什么?
一定要把var timer放在aa()这个函数的外面才行
我没有在外部引用这个timer阿..所有代码都是在aa()里面的.

我程序里当然没漏打"}"了..我这里只是截一部份所以少掉个符号..
展开
 我来答 举报
百度网友0f37e23c0
2010-06-03 · TA获得超过1543个赞
知道大有可为答主
回答量:1070
采纳率:50%
帮助的人:1304万
展开全部
你aa函数少个}, 就是aa()函数没有结束大括号,不知道笔误,还是。。。。,

如果你完善大括号后,代码会是如下:
<script language="JavaScript" type="text/javascript">
var timer1;
var timer2;
var timer3;
function aa(i)
{
var timer;//你这里声明的是个局部变量,
switch(i)
{
case 1:
timer = timer1;
break;
case 2:
timer = timer2;
break;
case 3:
timer = timer3;
break;
// 不要忘记default,即 i 不等于1,2,3时
default:
timer = timer1;
}
// 如果需要 函数体可以返回timer
// return timer;
}
</script>
运行没有错误的。 关于你贴出来的这些代码,我改动后,运行没有错误的,你可以把我这些代码放在单独文件中测试。你出现的错误很有可能是其他代码在运行 或者调用这些代码时出错,如果还不可以解决,你可以百度和我聊,我帮你调试下。
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
magicmeteor
2010-06-03 · TA获得超过181个赞
知道小有建树答主
回答量:298
采纳率:0%
帮助的人:246万
展开全部
如果你放里面,说明是局部变量,但是你aa()函数没有返回值,所以你的timer没办法返回到外面去,所以外面是引用不了你的timer的。
一个办法是你写到外面作为全局变量,一个是你在aa()里面return一个timer出去。
本回答被提问者采纳
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
suyangxyz
2010-06-03 · TA获得超过464个赞
知道小有建树答主
回答量:805
采纳率:0%
帮助的人:575万
展开全部
放外边是全局的
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式