Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在下面的示例中,为什么对象中已删除的密钥仍然可以访问?_Javascript - Fatal编程技术网

Javascript 在下面的示例中,为什么对象中已删除的密钥仍然可以访问?

Javascript 在下面的示例中,为什么对象中已删除的密钥仍然可以访问?,javascript,Javascript,在下面给定的代码中,删除objA.foo后, 它仍然可以访问 var objA=Object.create({ 福:“福” }); var-objB=objA; objB.foo='bar'; 删除objA.foo; console.log(objA.foo); console.log(objB.foo)使用具有“foo”属性的原型对象创建对象。然后向对象添加一个本地“foo”属性,这就是delete所影响的。(请注意,对象A和对象B是完全相同的对象;指定不会复制。) 对属性“foo”的后续引

在下面给定的代码中,删除
objA.foo
后, 它仍然可以访问

var objA=Object.create({
福:“福”
});
var-objB=objA;
objB.foo='bar';
删除objA.foo;
console.log(objA.foo);

console.log(objB.foo)使用具有“foo”属性的原型对象创建对象。然后向对象添加一个本地“foo”属性,这就是
delete
所影响的。(请注意,对象A和对象B是完全相同的对象;指定不会复制。)


对属性“foo”的后续引用在原型对象上解析,而不是对象A本身。

使用具有“foo”属性的原型对象创建对象A。然后向对象添加一个本地“foo”属性,这就是
delete
所影响的。(请注意,对象A和对象B是完全相同的对象;指定不会复制。)


随后对属性“foo”的引用在prototype对象上解析,不是对象A本身。

@lfaruki原始语法没有问题:)@lfaruki原始语法没有问题:)
foo
您得到的是原始对象的
prototype
链,而不是
objB
foo
您得到的是来自原始对象不是来自
objB