为什么JavaScript将其记录为"0"?

Nip*_*arg 3 javascript

此代码将输出记录为零.输出应为6.

function sum(a,b){
  r=a+b;
  return r; 
}

r=sum(2,9);
r1=sum(1,4);
diff=r-r1;

console.log(diff);
Run Code Online (Sandbox Code Playgroud)

Zak*_*rki 6

var当您在函数r内部声明变量localy 时,您将使用关键字,否则您将有范围冲突,并且r函数内部将被声明为globaly并被视为与r函数外部的变量相同的变量:

function sum(a,b){
    var r=a+b;
    return r; 
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.

function sum(a,b){
    var r=a+b;
    return r; 
}

r=sum(2,9);
r1=sum(1,4);
diff=r-r1;

console.log(diff);
Run Code Online (Sandbox Code Playgroud)