为了账号安全,请及时绑定邮箱和手机立即绑定

为什么第二个alert没有反应

<!DOCTYPE HTML>

<html> 

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>热身</title>

</head>

<body>

  <script type="text/javascript">

      function num(eve,event){

          num=eve*event

          return num}

          

      document.write(num(10,2)) 

      alert(num(20,11));

  </script>

</body>

</html>

屏幕上会显示20,但是alert这个不会弹出来

正在回答

4 回答

刚百度了一下~是优先级的问题,在document.write()读取后,把后面所有的当作文档读取了,所以后面的应该是读不出来的  alert放在document前面就是可以的了~

0 回复 有任何疑惑可以回复我~

函数名和 内部的变量名 都叫num 是不合适的;在第一次调用 函数num的时候就将 num改变了,再次使用num就会出错,只要将他们其中一个的名字修改一下就ok了

1 回复 有任何疑惑可以回复我~

你的script怎么在body 里面,还有你的document.write(num(10,2))  后面没有;

0 回复 有任何疑惑可以回复我~
#1

卡兰尼克 提问者

script可以放在body里面
2016-12-30 回复 有任何疑惑可以回复我~

return的作用到底是干嘛的?没有return 直接把alert放在函数内部也可以有作用啊

。。。不是很懂return到底起到什么作用

0 回复 有任何疑惑可以回复我~
#1

慕瓜9573798

首先 一个函数运行起来后,都会存在一个 return 值以供外部使用,其值默认为 undefined ;在函数内的 num 只能在函数内访问,外部是不能直接访问的,只能通过 return 出来后才能被外部使用;将alert 放在函数内部,使用的是内部的num 所以是可以的
2016-12-30 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么第二个alert没有反应

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信