这个实在有点不理解

这个实在有点不理解


http://img1.sycdn.imooc.com/climg//590f132700012fc512600617.jpg



<input value="开始" type="button">
<input value="结束" type="button">

<script>
   starBtn=document.getElementsByTagName("input")[0];
   endBtn=document.getElementsByTagName("input")[1];
   function star(){
       alert("确定开始吗?");
       this.style.background="green";
   }
   function end(){
       alert("确定结束吗?");
       this.style.background="yellow";
   }
   starBtn.onclick=star;
   endBtn.onclick=end();


</script>












正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
提问者 web_東 2017-05-07 20:39:23

  starBtn.onclick=star;
   endBtn.onclick=end();

这两句写的有点新颖,无法理解。

  • 你好,end() 相当于直接调用执行了end 函数,所以在打开页面时,就直接执行 end 函数,不会等触发 点击后,在执行。所以注意这种写法时, starBtn.onclick=star; 函数后不要加 ( ) , 祝学习愉快。
    2017-05-10 09:48:23
提问者 web_東 2017-05-07 20:36:33


  endBtn.onclick=end();改成如下就好理解啦。


endBtn.onclick=function end(){
   alert("确定结束吗?");
   this.style.background="yellow";


};

  • 你好,写的这两个方法执行不一样的,上面是直接执行,不是点击后执行。下面是点击后执行函数。如在下面的最后大括后添加 (),就和上面一样效果,相关知识可以观看本路径中“ js进阶的函数 ”,祝学习愉快。
    2017-05-10 10:01:44
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
HTML5与CSS3实现动态网页 2018
  • 参与学习       1887    人
  • 提交作业       4643    份
  • 解答问题       5760    个

有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师