js代码理解

问题描述

一个简单的点击按钮触发弹窗功能,代码概念细节有点混淆

相关代码

// 方式一:

<script>
  function f1() {
    alert("这是一个对话框");
  }</script><input type="button" value="显示效果" onclick="f1()"/>  <!--这里的f1()为什么可以加括号?-->

方式二:

<input type="button" value="开始分离代码" id="btn" /><script>
  function f2() {
    alert("开始分离html和js代码");
  }  function f2() {
    alert("嘎嘎");
  }  var btnObj=document.getElementById("btn");  //为按钮注册点击事件
  btnObj.onclick=f2;//不能加括号,加括号直接就调用</script>

请问为什么方式一里的onclick属性后面的f1要加括号,而方式二中的f2后面就不能加括号???


泛舟湖上清波郎朗
浏览 701回答 2
2回答

天涯尽头无女友

onclick="f1()"&nbsp;相当于下面的代码://浏览器为你包装了一层onclick=function(){ &nbsp;&nbsp;&nbsp;&nbsp;fn(); }而&nbsp;btnObj.onclick=f2;&nbsp;是一个赋值表达式
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript