首先,我是 Javascript 新手,所以如果我问这样一个微不足道的问题,请不要恨我。
我在 Google 上搜索了几个小时,但找不到问题的解决方案。我已经声明了一个全局变量“status”,这是错误的。但是,如果我检查函数内的数据类型,它会显示“字符串”,这始终是正确的,因此我的脚本根本无法工作。
var status = false;
function slide(element) {
if (status) {
slideUp(element);
} else {
slideDown(element);
}
}
function slideDown(element) {
status = true;
// Testprint todo remove
alert('Status is ' + status + ' and is type: ' + typeof status);
// todo
}
function slideUp(element) {
status = false;
// Testprint todo remove
alert('Status is ' + status + ' and is type: ' + typeof status);
// todo
}
我错了还是我自己写了一个函数来每次将 boolean 变量转换为“真正的” boolean 变量?我自己测试过它,这显示了 boolean 数据类型...
这很好用...
var test = false;
myTestFunc();
myTestFunc() {
if(!test) {
test = true;
alert('Test is false');
} else {
test = false;
alert('Test is true');
}
alert('Test contains: ' + test + ' and has the type: ' + typeof test);
}
我明白了,Javascript 似乎是随机声明变量的。有没有办法使我的变量成为 boolean 数据类型?
是否有机会像 int varname
一样强制初始化为 boolean 值?
最佳答案
问题是 window.status - 请参阅 https://developer.mozilla.org/en-US/docs/Web/API/Window/status
更改 var 的名称(或范围),这一切都很好
关于JavaScript 全局 boolean 变量将自身转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31286533/