【发布时间】:2019-05-15 15:56:24
【问题描述】:
我不确定何时将变量放在函数的顶部和内部。
我尝试将变量放在顶部,有时放在函数内部。但是,在某些情况下,它并不总是像这种情况那样在内部。
function transformFirstAndLast(array){
var first = array[0];
var last = array[array.length-1];
var squid = {};
squid[first] = last;
return squid;
}
对
var first = array[0];
var last = array[array.length-1];
var squid = {};
function transformFirstAndLast(array){
squid[first] = last;
return squid;
}
第一个有效。但是,我认为您可以访问变量,因为它是全局范围的?我很困惑为什么第二个不起作用?
【问题讨论】:
-
一般规则是变量应该被限制在它们需要的最小范围内。如果你不需要在多个函数中访问一个变量,它不应该是一个全局变量。
-
无法复制。如果我在全局范围内使用
var array = ['first', 'second', 'last']运行您的代码,您的函数将返回{first: 'last'}
标签: javascript scope