javascript - 变量在 JavaScript 本地函数中时没有获取值

标签 javascript jquery

您好,我试着做了一些计算如下。

权重值应该从分数中减去它的值。但是当我这样做时,我得到了“未定义”作为 score 变量输出。是什么原因?我是否正确处理了变量声明?

var score = 10;

var scoresFunc = function (weight) {
    console.log(score);
    var finalScore = score - weight;
    score = score - finalScore;
    var scoreForStartingDate = $('#scoreForStartingDate').val();
    var scoreForDuration = $('#scoreForDuration').val();
    var scoreForProjects = $('#scoreForProjects').val();

    var score = score - parseInt(weight);
    var a = '';
    for (i = 1; scores >= i; i++) {
        a += "<option value='" + i + "'>" + i + "</option>";
    }
    return a;
};

最佳答案

您看到 console.log(score) 未定义记录的原因是因为名为 variable hoistingMDN 的东西

var score = 10;
var scoresFunc = function (weight) {
    console.log(score);
    var score = score - weight;
};

这是所示函数的精简版。然而,吊装的结果,其实是这样的

var score = 10;
var scoresFunc = function (weight) {
    var score;
    console.log(score);
    score = score - weight;
};

这应该可以澄清为什么您记录 undefined

关于javascript - 变量在 JavaScript 本地函数中时没有获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32086950/

相关文章:

javascript - 向 JavaScript 平台游戏添加按钮

javascript - 表单提交很好,无需使用ajax刷新页面;我可以将其设置为成功警报,但在下一步中丢失(表格正在通过)

javascript - struts 标签库——选择标签

javascript - 用户滚动时标题会更改颜色,但我如何更改导航栏文本

javascript - X 个字符后自动提交表单

javascript - 返回后功能仍在运行

jquery 隐藏和显示打印

javascript - 反斜杠 - 正则表达式 - Javascript

javascript - 创建一个按钮到新的路由reactJS

php - 基于多选 jQuery 和 PHP 显示 DIV 文本