关于调用函数的问题

来源:3-20 String(split和replace)

胖头鱼yyf

2018-09-03 10:18:03

<!DOCTYPE html>

<html>

<head>

  <title></title>

</head>

<body>

<input type="button" value="anniu" id="btn" name="">

  <script type="text/javascript">

    var btn=document.getElementById('btn');

      function st(){

      alert("sd")

    }

    btn.onclick=st();

  </script>

</body>

</html>

这个要写成btn.onclick=st,写成st()打开页面就直接弹出alert了这是什么原理呢?

写回答

1回答

妮可妮可妮_

2018-09-03

函数只要是要调用它进行执行的,都必须加括号。此时,函数实际上等于函数的返回值或者执行效果,当然,有些没有返回值,但已经执行了函数体内的行为,就是说,加括号的,就代表将会执行函数体代码。

不加括号的,都是把函数名称作为函数的指针,一个函数的名称就是这个函数的指针,此时不是得到函数的结果,因为不会运行函数体代码。它只是传递了函数体所在的地址位置,在需要的时候好找到函数体去执行。

如果可以解决你的疑惑,一定要记得采纳我哦~祝学习愉快!


0

0 学习 · 640 问题

查看课程