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

为什么函数调用那里不加括号就没有结果

<!DOCTYPE html>

<html>

 <head>

  <title> 事件</title>  

  <script type="text/javascript">

   function count(){

       

    //获取第一个输入框的值

var one=document.getElementById('txt1').value

//获取第二个输入框的值

var two=document.getElementById('txt2').value

//获取选择框的值

var sel=document.getElementById('select').value

//获取通过下拉框来选择的值来改变加减乘除的运算法则

var result;

switch(sel)

{

case '+':result=parseInt(one)+parseInt(two);

break;

case '-':result=parseInt(one)-parseInt(two);

break;

case '*':result=parseInt(one)*parseInt(two);

break;

case '/':result=parseInt(one)/parseInt(two);

break;

}

    //设置结果输入框的值 

    document.getElementById('fruit').value=result;

   }

  </script> 

 </head> 

 <body>

   <input type='text' id='txt1' /> 

   <select id='select'>

<option value='+'>+</option>

<option value="-">-</option>

<option value="*">*</option>

<option value="/">/</option>

   </select>

   <input type='text' id='txt2' /> 

   <input type='button' value=' = ' onclick="count"/> <!--通过 = 按钮来调用创建的函数,得到结果--> 

   <input type='text' id='fruit' />   

 </body>

</html>


正在回答

1 回答

例子说明:例1.

function init(){

    。。。。。。

}

window.onload = init;

例2:

function fun(){

    return 5

}

var a=fun

var b=fun()

a是fun函数,b是5

那么到底在使用一个函数时需不需要加上()呢?

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

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

例如window.οnlοad=init;

init函数并不会在这行代码时就执行,浏览器加载文档时这句话会被加载,会被告知文档加载完要执行哪个函数,但实际上没有当时就执行,等到整个文档加载完成之后才会通过init这个指针去执行init()。


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

举报

0/150
提交
取消

为什么函数调用那里不加括号就没有结果

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