获取功能结果而不是它的身体

时间:2017-08-01 18:30:58

标签: javascript jquery

警告显示功能体而不是结果。

HTML:

function calc () {
        var first = 1;
        var second = 2;
        var result = first + second;
        return result;
    }
$('#button').click(function(){alert(calc);});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="button" id="button" value="button">

onclick的其他示例运作良好:

function calc () {
        var first = 1;
        var second = 2;
        var result = first + second;
        return result;
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="button" id="button" value="button" onclick="alert(calc())">

2 个答案:

答案 0 :(得分:1)

更新您的代码:

致电calc()而非calc

function calc () {
        var first = 1;
        var second = 2;
        var result = first + second;
        return result;
    }
$('#button').click(function(){alert(calc());});

答案 1 :(得分:0)

而是计算以下行

$('#button').click(function(){alert(calc);})

使用 calc(),如下所示

 $('#button').click(function(){alert(calc());})

calc和calc()之间的区别是

当你写calc时,你将函数作为参数传递而不是它的返回值。当您将函数作为回调传递以稍后执行时,这非常有用。

但是当你执行 calc()时,你正在执行意味着调用函数。