返回存在于全局范围内的变量的最佳实践?

Bar*_*iva 1 javascript

这里的退货声明是否不必要?

var fahrenheit;
var celsius;
function cToFConvert () {
       celsius = temperatureInput.value;
       fahrenheit = celsius * (9/5) +32;
       console.log(fahrenheit);
       return fahrenheit;
}
Run Code Online (Sandbox Code Playgroud)

fahrenheit即使我不使用return语句,我也可以获得值.如果变量是在全局范围内声明的,那么这意味着使用返回是多余的吗?

Nin*_*olz 6

功能和纯粹的功能.

保持函数纯粹的概念是使用没有副作用的函数的想法.这意味着,该函数应该依赖于自己的参数并返回仅与参数相关的内容.

这意味着一个函数应该有一些输入和一些输出.

在这种情况下,为了转换温度,您有一个摄氏度值,并希望获得Farenheit中的值.这是一个很好的例子,如何编写一个可以为任何目的重用的函数,并且可以在没有更改的情况下插入到库中.

它是如何工作的?

您可以根据输入考虑输入和输出.

function convertCelsiusToFarenheit(celsius) {
    return celsius * 9 / 5 + 32;
}
Run Code Online (Sandbox Code Playgroud)

现在,您可以将该函数与所需输入一起使用,并将输出存储到变量中

var myFarenheit = convertCelsiusToFarenheit(temperatureInput.value);
Run Code Online (Sandbox Code Playgroud)

或者,如果您想转换一堆值,可以使用该函数作为回调

var myFarenheitData = [-10, 0, 10, 20, 30, 40].map(convertCelsiusToFarenheit);
Run Code Online (Sandbox Code Playgroud)

考虑到这一点,它更容易编写多功能功能.