javascript - 在单击函数条件语句中调用时,函数值未定义

标签 javascript jquery jquery-plugins

这是问题“jQuery output to console sum of 2 variables”的扩展”。

我有以下功能:

function printSum() {
    console.log('Sum:' + (c.getBehaviour() + t.getBehaviour()));
}

并且希望根据点击函数中的 printSum() 值加载 HTML,如下所示:

$('#surname-help-label').click(function(e) {
    var helpText = $('#surname-help-text').html('loading…');

    if (printSum() >= 25) {
        helpText.load('help-text.html div:nth-of-type(2)');
    } else {
        helpText.load('help-text.html div:first');
        console.log('what do you get:' + printSum());
    };

    e.preventDefault();
});

出于调试目的,我已在行 console.log('what do you get:' + printSum()); 添加,它返回的值是 undefined这意味着 else {} block 始终被调用。我该如何解决这个问题?

Full code jsFiddle

最佳答案

您没有重新调整任何内容。如果您不让函数返回您希望它返回的内容,那么它就不会返回您希望它返回的内容。

要让它返回你想要它返回的内容,你需要让它返回你想要它返回的内容,这样它就会返回你想要它返回的内容,并且你将能够使用它返回的内容。

function printSum() {
    console.log('Sum:' + (c.getBehaviour() + t.getBehaviour()));
    return c.getBehaviour() + t.getBehaviour();
}

MDN return statement

关于javascript - 在单击函数条件语句中调用时,函数值未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14923572/

相关文章:

javascript - Plotly.js - gd.data 必须是一个数组

javascript - 引导 slider 加载不起作用

javascript - jquery 最小富文本框插件

javascript - 如何命名和搜索 jQuery 插件中创建的 DOM 元素?

JavaScript 隐藏类似于密码的纯文本

javascript - 如何创建 CSS 并将其应用于 javascript Alert

jquery - jqGrid更新字段 "editable:false"

jquery - 我需要在 jquery 中拖放吗?

javascript - 动态添加 AngularJS 的属性和innerHTML

jquery - 如何根据设备屏幕更改引导轮播中的文本大小