Javascript 变量效率较低
Javascript variable what is less efficient
我正在学习 Javascript currently.I 想知道两者之间是否有任何区别:
var factor=0.1;
var limit=10;
var x;
var y;
x= limit*factor;
y= limit*factor;
//or
var limit=10;
var x;
var y;
x=limit *0.1;
y=limit*0.1;
它有什么不同吗(例如,在查看性能时)?如果是这样,为什么不同?第二个例子对我来说不太乐观,因为我一直认为我声明了变量 0.1 两次。提前感谢您的帮助。
我建议您继续第一个示例,但要进行修改。变量是为了保存动态数据,最好将 0.1
保存在一个变量中,这样您可以根据需要随时间更改它。
// have a function so that you don't repeat the code
function getFactor(factor, limit) {
return limit * factor;
}
//declare the variables and set the required default values
var factor = 0.1,
limit = 10,
x, y;
//assign getFactor to x and y variables
x = y = getFactor(factor, limit);
存在非常的小差异。当您在两次乘法中使用 factor
时,JavaScript 引擎每次都必须在当前词法环境对象中查找 factor
的值——理论上,无论如何;如果 JavaScript 引擎选择代码进行优化,那么优化很可能会消除这种情况。
但无论如何:当您担心性能问题时,请担心性能问题。相反,专注于可读性和可维护性。如果 x
和 y
打算乘以相同的值,请将该值放入某个东西(var
,或者可能是 const
with ES2015+),然后使用它在这两个地方。
我正在学习 Javascript currently.I 想知道两者之间是否有任何区别:
var factor=0.1;
var limit=10;
var x;
var y;
x= limit*factor;
y= limit*factor;
//or
var limit=10;
var x;
var y;
x=limit *0.1;
y=limit*0.1;
它有什么不同吗(例如,在查看性能时)?如果是这样,为什么不同?第二个例子对我来说不太乐观,因为我一直认为我声明了变量 0.1 两次。提前感谢您的帮助。
我建议您继续第一个示例,但要进行修改。变量是为了保存动态数据,最好将 0.1
保存在一个变量中,这样您可以根据需要随时间更改它。
// have a function so that you don't repeat the code
function getFactor(factor, limit) {
return limit * factor;
}
//declare the variables and set the required default values
var factor = 0.1,
limit = 10,
x, y;
//assign getFactor to x and y variables
x = y = getFactor(factor, limit);
存在非常的小差异。当您在两次乘法中使用 factor
时,JavaScript 引擎每次都必须在当前词法环境对象中查找 factor
的值——理论上,无论如何;如果 JavaScript 引擎选择代码进行优化,那么优化很可能会消除这种情况。
但无论如何:当您担心性能问题时,请担心性能问题。相反,专注于可读性和可维护性。如果 x
和 y
打算乘以相同的值,请将该值放入某个东西(var
,或者可能是 const
with ES2015+),然后使用它在这两个地方。