Javascript 删除后的绑定成员调用

Javascript 删除后的绑定成员调用,javascript,Javascript,在此代码段中,delete返回true。那么,为什么f在delete之后被成功调用呢 函数X(){ this.f=函数(){ console.log(“X::f”); } } x=新的x; var f=x.f.bind(x); console.log(“删除:”+delete x); f()delete刚刚删除了标识符x。该对象仍然存在于内存中,因为它已绑定到f f仍然引用具有相同绑定上下文的相同函数,即使x没有 见: 与一般的看法不同,delete操作符与直接释放内存无关(它仅通过中断引用来

在此代码段中,delete返回true。那么,为什么f在delete之后被成功调用呢

函数X(){
this.f=函数(){
console.log(“X::f”);
}
}
x=新的x;
var f=x.f.bind(x);
console.log(“删除:”+delete x);

f()
delete
刚刚删除了标识符
x
。该对象仍然存在于内存中,因为它已绑定到
f

f
仍然引用具有相同绑定上下文的相同函数,即使
x
没有

见:

与一般的看法不同,delete操作符与直接释放内存无关(它仅通过中断引用来间接释放内存。有关详细信息,请参阅内存管理页面)


你怎么能越过“var f…”这一行呢?foo没有定义我已经编辑了代码段。我想是在全局范围内创建了对象x。