我想创建一个函数来切换我的代码的任何布尔值,但我无法得到预期的结果:
function toggle(x){
x=!x;
}
var test=false;
toggle(test);
alert(test);
Run Code Online (Sandbox Code Playgroud)
为什么不回归true呢?
布尔数据类型按值传递.因此,对参数所做的任何更改x都不会反映实际变量test.您需要从函数返回更新的值并将其分配回变量.
function toggle(x) {
return !x; // Return negated value
}
var test = false;
test = toggle(test); // Assign the updated value back to the variable
alert(test);
Run Code Online (Sandbox Code Playgroud)
但是,正如评论中所说,最好使用它
test = !test;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3101 次 |
| 最近记录: |