【发布时间】:2017-02-07 12:36:58
【问题描述】:
这是我迄今为止尝试过的。
var nxt = 'I am next';
window.onscroll = function(){
var scr = this.pageYOffset;
if(scr > 400){
console.log(nxt);
delete(nxt); // unset here
console.log(nxt); // expected undefined or null
}
}
我使用 delete() 期望删除变量内的引用值。不幸的是,它只是保持不变。有人可以给我一个关于如何实现这种场景的线索吗?
任何帮助将不胜感激。
【问题讨论】:
-
MDN 在其website 中解释了
delete运算符。变量无法使用delete运算符将其删除。改为使用undefined分配它。 -
您可以使用
delete到unset,但您的变量不应声明为var示例:window.onscroll = function(){ scr = this.pageYOffset; if(scr > 400){ console.log(nxt);删除nxt; // 在此处取消设置 console.log(nxt); // 预期的未定义或 null } } 它将按预期工作。或者您可以设置为undefined或nullnxt = undefined; (或) nxt = null;
标签: javascript