菜鸟请教一个js的问题,代码如下:

输出居然是undefined,不知为何,为何输出的不是123呢<scripttype="text/javascript">varabc=123;functionalert... 输出居然是undefined,不知为何,为何输出的不是123呢
<script type="text/javascript">
var abc=123;
function alertAbc(){
alert(abc);
var abc=456;
}
alertAbc();
</script>
展开
 我来答
土豆马铃薯2
2017-02-08 · TA获得超过218个赞
知道小有建树答主
回答量:682
采纳率:33%
帮助的人:187万
展开全部
方法体内代码执行顺序是从上到下的,先执行alert,在执行var abc = 456;
var abc = 123只是初始化一个变量,在这里并没有赋值作用
追问
那为何我去掉var abc=456,弹出的就是123呢
追答
我上边理解错了,刚看出来是冲突了,你已经用var定义abc为全局变量了,再次用var定义为局部变量会冲突。你试试只删掉var abc = 456的var也可以打印123
miniapp9o6NUTuGargsU
2017-02-08 · 请开发者输入账号签名
miniapp9o6NUTuGargsU
采纳数:17 获赞数:50

向TA提问 私信TA
展开全部
外面定义变量,函数中怎么能使用,var 定义的变量是局部变量,定义变量时不用var,则为全局变量,函数中可以使用,或者给函数传参
function alertAbc(str) str是参数 alertAbc(abc)就可以弹出abc了,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式