首页 > 解决方案 > 为什么在这种情况下我无法执行 console.log,如果我返回 temps 为什么函数不起作用?

问题描述

const calcTempAmplitudeNew = function (t1, t2) {
    const temps = t1.concat(t2);
    //   console.log(temps);
    return temps;
    //if i return temps why function is not working??
    let max = temps[0];
    let min = temps[0];

    for (let i = 0; i < temps.length; i++) {
        const curTemp = temps[i];
        if (typeof curTemp !== 'number') continue;
        if (curTemp > max) max = curTemp;
        if (curTemp < min) min = curTemp;
    }
    console.log(max, min);
    return max - min;

};

const amplitudeNew = calcTempAmplitudeNew([3, 5, 1], [9, 0, 5]);
console.log(temps, amplitudeNew);

为什么在这种情况下我无法执行 console.log ?

标签: javascriptarraysreturn-valueconsole.log

解决方案


tempsconsole.log()使用范围之外。该变量位于函数的本地范围内,因此您将无法在函数之外使用它。

如果你声明...

var temps = ''

在第一行代码中的函数之外并删除函数中的声明temps,您可以将其记录在函数之外,因为它现在处于全局范围内。

工作密码笔

有关范围的更多信息


推荐阅读