菜鸟求轻拍。function myFunction() { var add = (function() { var counter = 0; return function () { return counter += 1;} })(); add(); add(); delete add; /* add = (function() { var counter = 0; return function () { return counter += 1;} })(); */ add(); document.getElementById("demo").innerHTML = add();}为什么以上代码执行后,明明执行了delete,demo仍然显示为4?而以下代码执行后,demo显示为2?function myFunction() { var add = (function() { var counter = 0; return function () { return counter += 1;} })(); add(); add(); delete add; add = (function() { var counter = 0; return function () { return counter += 1;} })(); add(); document.getElementById("demo").innerHTML = add();}
1 回答
蓝山帝景
TA贡献1843条经验 获得超7个赞
var声明的变量的不能被delete delete只能删除对象的属性或者数组的元素
你的第二段代码并不能说明你delete成功,只是你对add进行了重新赋值,又调用了两遍,所以是2
添加回答
举报
0/150
提交
取消
