在Javascript中删除操作
Delete operation in Javascript
我很难理解javascript中的删除操作。
我有一个对象如下-
var object = {"name" : "abc"};
object.prototype = {"name" : "xyz"};
如果我从对象中删除"name"属性,它应该从对象中而不是从原型中删除,因为原型值只在get操作中使用。
所以在之后
delete object.name
如果我打印object.name,它会给我"undefined",而在我看来,它应该给我"xyz"。
首先,我认为删除操作只是将object.name的值设置为"undefined",但随后object.hasOwnProperty("name")给了我false。
我遗漏了什么吗?
你理解的漏洞在于原型,而不是删除。
原型上的值出现在对象的实例上,而不是原型属性所属的对象。
您需要创建一个构造函数,将原型放在上面,然后使用new
从该函数实例化一个对象。
function MyObject (name) {
this.name = name;
}
MyObject.prototype.name = "xyz";
var instance = new MyObject("abc");
document.write(instance.name);
document.write("<br>");
delete instance.name;
document.write(instance.name);
相关文章:
- button.单击两次删除附加操作后不工作
- 如何在网格的操作列中动态添加和删除 cls
- Javascript”;删除“;操作人员
- 删除对象属性在执行删除操作之前生效
- php使用ajax生成html表,以应用用户操作,如删除、更新和编辑
- 如何删除绑定到单击事件的任何jQuery操作
- appMobi/phonegap设置/删除cookie点击操作需要2次才能工作
- 如何操作JSON对象以删除Javascript中的根键
- 在Javascript中删除操作
- 使用 jQuery 操作“选择”中的“删除项”
- AngularJS和REST:执行删除操作,发送许多要删除的项目的数组
- 数组的逻辑操作以删除索引
- 删除按钮事件的操作并创建另一个事件
- 有没有办法在javascript中创建哈希图并像添加和删除值一样对其进行操作
- emberJS 2:用于操作的嵌套关系资源(更新和删除)
- 从 jQuery 验证中动态删除 submitHandler,以允许正常的PayPal“捐赠”按钮操作
- Java 脚本 json 解析对象:删除操作后不删除“,”
- 如何获取操作 ID 以删除以前在时间线上发布的操作
- 删除 javascript form.setAttribute 操作
- Laravel yajra/Datatables操作删除不起作用