我得到 5 作为以下代码的输出
function myfunction1(){
number = 5;
}
function myfunction(number){
number = number + 10;
}
myfunction1();
myfunction(number);
console.log(number);
我希望为数字引发参考错误。如果有人可以解释一下行为,那就太好了。
答案 0 :(得分:2)
JavaScript解释器从未声明number
,而是将number
评估为全局变量。
如果您这样做:
function myfunction1(){
var number = 5;
}
function myfunction(number){
number = number + 10;
}
myfunction1();
myfunction(number);
console.log(number);
这应该引发一个错误,因为现在number=5
仅在myfunction1
内为真
答案 1 :(得分:0)
因为您要为全局变量和函数自变量分配相同的名称,所以
这应该有效。
let number;
function myfunction1(){
number = 5;
}
function myfunction(n){
number = n + 10;
}
myfunction1();
myfunction(number);
console.log(number);