delete方法,老师我测试了不同浏览器,发现say需要加()才能删除?
//delete
function fun(){
this.name="zhangsan";
this.say=function(){
alert(this.name);
}
}
var obj=new fun();
// alert(obj.name);
// delete obj.name;
// alert(obj.name);
delete say;//此处代码在浏览器测试没有报错,使用say()时反而成功删除了say方法
obj.say();
源自:JS面向对象
7-1 关键词(上)
20
收起
正在回答
2回答
同学你好,问题解答如下:
1、代码有误,无论是删除say,还是删除greet方法,都不能直接使用,需要通过实例化的对象调用。如下:
say未定义使用就会报错
另外,截图中报错greet未定义在131行,是因为全局中没有greet方法,不能调用而报错
并不是说删除了greet方法,obj.greet()无法调用而报错。
2、正确删除应该是这样
详细用法可以参考资料:
https://file.mukewang.com/class/assist/791/6616789/2bmikttlh79/delete%E7%94%A8%E6%B3%95.pdf
祝学习愉快!
相似问题
登录后可查看更多问答,登录/注册
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星