Javascript 返回全局范围内存在的变量的最佳实践?
这里的return语句没有必要吗Javascript 返回全局范围内存在的变量的最佳实践?,javascript,Javascript,这里的return语句没有必要吗 var fahrenheit; var celsius; function cToFConvert () { celsius = temperatureInput.value; fahrenheit = celsius * (9/5) +32; console.log(fahrenheit); return fahrenheit; } 即使不使用return语句,也可以获取华氏值。这是否意味着如果变量在全
var fahrenheit;
var celsius;
function cToFConvert () {
celsius = temperatureInput.value;
fahrenheit = celsius * (9/5) +32;
console.log(fahrenheit);
return fahrenheit;
}
即使不使用return语句,也可以获取华氏值。这是否意味着如果变量在全局范围内声明,那么使用返回是多余的?这里我认为是reducant,但我认为这也不是一个有效的实现。相反,您可以:
var cToFConvert = function() {
var celsius = temperatureInput.value;
var farenheit = celsius * (9/5) +32;
console.log(farenheit);
return farenheit;
}
然后
var convertedValue = cToFConvert();
希望这有帮助 这里我认为是还原剂,但我认为这也不是一个有效的实现。相反,您可以:
var cToFConvert = function() {
var celsius = temperatureInput.value;
var farenheit = celsius * (9/5) +32;
console.log(farenheit);
return farenheit;
}
然后
var convertedValue = cToFConvert();
希望这有帮助 我的建议是,避免使用方法之外的变量。将变量作为参数传递给方法并返回结果。如果您仍然希望处理方法外部的变量,那么返回是多余的,因为您已经在修改方法内部的变量 函数CTOFCONVERTNERT{ 返回摄氏度*9/5+32; } 变异系数=123//温度输入值; var farenheit=cToFConvertcelsius;
console.logfarenheit 我的建议是,避免使用方法之外的变量。将变量作为参数传递给方法并返回结果。如果您仍然希望处理方法外部的变量,那么返回是多余的,因为您已经在修改方法内部的变量 函数CTOFCONVERTNERT{ 返回摄氏度*9/5+32; } 变异系数=123//温度输入值; var farenheit=cToFConvertcelsius; console.logfarenheit 不要使用全局变量 您可以删除return语句。 不,没有必要。为什么要使用全局变量,您可以在任何地方访问它,并且可以在任何地方更改它的值 作为替代,你可以这样做
function cToFConvert(celsiusValue){
return celsiusValue* (9/5) +32;
}
打个电话
var fahrenheit = cToFConvert(temperatureInput.value);
不要使用全局变量
您可以删除return语句。
不,没有必要。为什么要使用全局变量,您可以在任何地方访问它,并且可以在任何地方更改它的值
作为替代,你可以这样做
function cToFConvert(celsiusValue){
return celsiusValue* (9/5) +32;
}
打个电话
var fahrenheit = cToFConvert(temperatureInput.value);
虽然这是多余的,但两种方法都不同 案例1:您不使用return 在这里,调用方法不需要值 例如,var y=cToFConvert 案例2:使用return时 调用方法需要返回一个值 例如,var y=cToFConvert y将具有farenheit的值
与这两种情况相比,我个人更喜欢案例1,因为通过查看函数调用,您可以清楚地说出函数返回的内容。正如其他答案中所提到的,除非没有出路,否则不要使用全局变量。虽然这里是多余的,但两种方法都不同 案例1:您不使用return 在这里,调用方法不需要值 例如,var y=cToFConvert 案例2:使用return时 调用方法需要返回一个值 例如,var y=cToFConvert y将具有farenheit的值 与这两种情况相比,我个人更喜欢案例1,因为通过查看函数调用,您可以清楚地说出函数返回的内容。正如其他答案中提到的,除非没有出路,否则不要使用全局变量。 var farenheit=0,摄氏度=13//定义在全局空间中 函数cToFConvert{ farenheit=celsius*9/5+32;//使用全局变量,无需返回 } 函数检查{ alertfarenheit;//正在检查全局变量。 } cToFConvert; 查克法伦海特; var farenheit=0,摄氏度=13//定义在全局空间中 函数cToFConvert{ farenheit=celsius*9/5+32;//使用全局变量,无需返回 } 函数检查{ alertfarenheit;//正在检查全局变量。 } cToFConvert; 查克法伦海特; 功能和功能 保持函数纯粹的概念是使用函数而不产生副作用。这意味着,函数应该依赖于自己的参数,并返回仅与参数相关的内容 这意味着函数应该有一些输入和输出 在本例中,对于转换温度,您有一个值Celsius,并希望获得Farenheit中的值。这是一个很好的例子,说明如何编写一个函数,该函数可用于任何目的,并且可以插入到库中而无需更改 它是如何工作的 您可以考虑输入和基于输入的输出
function convertCelsiusToFarenheit(celsius) {
return celsius * 9 / 5 + 32;
}
现在,您可以将函数与所需的输入一起使用,并将输出存储到变量中
var myFarenheit = convertCelsiusToFarenheit(temperatureInput.value);
或者,如果您想转换一组值,可以将该函数用作回调函数
var myFarenheitData = [-10, 0, 10, 20, 30, 40].map(convertCelsiusToFarenheit);
记住这一点,编写多用途函数就更容易了。函数和
保持函数纯粹的概念是使用函数而不产生副作用。这意味着,函数应该依赖于自己的参数,并返回仅与参数相关的内容
这意味着函数应该有一些输入和输出。
在本例中,对于转换温度,您有一个值Celsius,并希望获得Farenheit中的值。这是一个很好的例子,说明如何编写一个函数,该函数可用于任何目的,并且可以插入到库中而无需更改
它是如何工作的
您可以考虑输入和基于输入的输出
function convertCelsiusToFarenheit(celsius) {
return celsius * 9 / 5 + 32;
}
现在,您可以将函数与所需的输入一起使用,并将输出存储到变量中
var myFarenheit = convertCelsiusToFarenheit(temperatureInput.value);
或者,如果您想转换一组值,可以将该函数用作回调函数
var myFarenheitData = [-10, 0, 10, 20, 30, 40].map(convertCelsiusToFarenheit);
考虑到这一点,编写多用途函数更容易。是的,它是冗余的。但是,最好创建原子方法,只使用自己的作用域。var=farenheit;应该是var farenheit;是的,对不起,没有正确复制代码。编辑@str在编程中它是什么意思?我还没有遇到这个术语。请看Suren Srapyan的答案。是的,它是多余的。但是,最好创建原子方法,只使用自己的作用域。var=farenheit;应该是var farenheit;是的,对不起,没有正确复制代码。编辑@str在编程中它是什么意思?我还没有遇到过这个术语。参见Suren Srapyan的答案。有时,即使对于更改全局状态的函数,返回一个值也会有好处——这就是:validateTempcToFConvertx;即使globals是函数的主要输入/输出也是可能的。为了清晰起见,我甚至建议删除顶部的两行,只需使用var fahrenheit=cToFConv123;。有时,即使对于更改全局状态的函数,返回一个值也是有好处的——这就是:validateTempcToFConvertx;即使globals是函数的主要输入/输出也是可能的。为了清晰起见,我甚至建议删除顶部的两行,只需使用var fahrenheit=cToFConv123;。