Javascript 变量函数不保留值
Javascript variable function does not persist values
这个js函数是全局变量的一部分。 第一次从另一个js文件调用它时,它可以工作。 但第二次,从本身来看,一切都是空的。
Start: function () {
console.log('InactivityAlerts.Start() called ...');
if (this.active) {
if (this.IDLE_TIMEOUT != "") {
window.setInterval(this.CheckIdleTime, 1000);
console.log('started...');
}
else {
window.setTimeout(this.Start, 1000);
//an iframe sets the IDLE_TIMEOUT later, but this should continue to
//run until it is not blank.
}
}
},
当它再次调用自己时;但是,所有内容都是空的,包括在此之前从 Init 设置的 this.active。 为什么? 我怎样才能确保一切仍然正确?
感谢您的任何帮助
这是一个
this
值问题,请确保在传递函数时绑定正确的this
值。
window.setInterval(this.CheckIdleTime.bind(this), 1000);
window.setTimeout(this.Start.bind(this), 1000);
如果您始终希望它们绑定到同一实例,也可以在构造时绑定它们。
function YourConstructor() {
//assumes that someFunction is defined on YourConstructor.prototype
this.someFunction = this.someFunction.bind(this);
}
或者与已知实例相同:
InactivityAlerts = {
Start: function () { /*...*/ }
};
InactivityAlerts.Start = InactivityAlerts.Start.bind(InactivityAlerts);
相关文章:
- 将参数传递给函数,同时保留事件处理程序
- 自调用函数不保留私有值
- 保留 JQuery Vars 用于另一个函数(全局变量?)
- 我可以通过使用函数绑定来保留默认值吗?如果没有,为什么
- JavaScript 在内部函数中保留一个 var
- GAS:在处理程序函数中使用变量时,如何更改全局变量值并保留其更改后的值
- DynamoDB中的扫描函数,保留关键字为FilterExpression NodeJS
- hidden()是javascript的保留函数吗
- 当使用“”创建时保留函数属性;绑定”;
- 命名函数“;删除“..删除是一个保留字
- 为什么参数不在函数之外保留其值
- Javascript 变量函数不保留值
- JavaScript 作用域:在函数后保留全局变量值
- JavaScript 不会保留新的标签内容来执行函数
- 为什么 javascript 会保留在外部函数中发生的局部变量重新分配,而不必捕获返回值
- 闭包编译器 - 保留未使用的函数,不要重命名未定义的函数
- 保留参数的函数
- 是否可以在JS中获取保留字(变量,函数,对象名称)的列表
- 如何在 JavaScript 中覆盖全局函数,但保留对原始函数的引用
- 保留函数中的变量