嗨,我试着做一些计算如下.
权重值应从分数中减去其值.但是当我这样做时,我将"未定义"作为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;
};
Run Code Online (Sandbox Code Playgroud)
你看到为console.log(得分)记录未定义的原因是因为称为变量提升MDN的东西.
var score = 10;
var scoresFunc = function (weight) {
console.log(score);
var score = score - weight;
};
Run Code Online (Sandbox Code Playgroud)
这是所示功能的浓缩版本.但是,由于吊装,实际上就是这样
var score = 10;
var scoresFunc = function (weight) {
var score;
console.log(score);
score = score - weight;
};
Run Code Online (Sandbox Code Playgroud)
哪个应该有希望清除你记录的原因undefined
.