所以我查看了整个 Stack Overflow 并发现了类似的问题,但找不到可以应用于我的问题。我处于严格模式,并且我已经定义了一个变量(loaded = false),并尝试根据它的真假来执行 if/else 语句......并且在它运行一次之后,我希望它切换到“真”所以它不会再次运行。下面是代码:
"use strict"
let loaded = false;
if (loaded === false) {
//do an action
loaded = true;
}
但是我在“loaded = true”处收到一个错误,它说“从未使用过分配的值”。我假设这是一个范围界定问题,但我不确定该怎么做?
谢谢!
*更多细节:这是我正在使用的代码.. 显然其中一些是不可读的,因为使用了其他变量,但也许这会有所帮助。
let loaded = false;
if (loaded === false) {
// animate swipe on map load
this.view.when().then((() => {
setTimeout(() => { // delay 1500ms for the map to load a bit
$(".movable").animate({left: "50%"},
{
duration: 1200,
easing: 'easeInOutCubic',
step: (function (now, fx) {
this._setOption('swipeX', layerViewContainer.element.width * now / 100);
}).bind(this)
});
}, 1800);
}).bind(this));
loaded = true;
}
所以你看,我正在尝试将变量设置为true,这样当他们在页面上执行操作时它不会再次运行......由于某种原因,更改页面上的某些内容将使滑动恢复活力(我不这样做不想发生)。