为什么当我把变量放在函数的内部/外部时,结果似乎不同?
函数外的可变声音:
var sound = "" ;
var laugh = function(num) {
for (var x = 0 ; x < num ; x++) {
sound = sound + "ha" ;
}
sound = sound +"!";
return sound;
}
console.log(laugh(3))
函数内部的可变声音
var laugh = function(num) {
for (var x = 0 ; x < num ; x++) {
var sound = "" ;
sound = sound + "ha" ;
}
sound = sound +"!";
return sound;
}
console.log(laugh(3))
在函数内部声明变量的方式,它总是以空字符串开始,因为在循环的每次迭代中都要重置它。
如果你想在函数内声明变量,你必须在for循环外声明。
var laugh = function(num) {
var sound = "" ; //here is where you should declare it
for (var x = 0 ; x < num ; x++) {
sound = sound + "ha" ;
}
sound = sound +"!";
return sound;
}
console.log(laugh(3))