为了账号安全,请及时绑定邮箱和手机立即绑定

关于javascript中delete的问题

关于javascript中delete的问题

GCT1015 2019-02-19 21:16:30
菜鸟求轻拍。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

查看完整回答
反对 回复 2019-02-21
  • 1 回答
  • 0 关注
  • 457 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号