阅读此问题:如何从JavaScript对象中删除属性?
但是我的代码'use strict';在全局声明中使用,这意味着它存在于整个文件中.
delete语句在严格模式下被禁止(无效).文档
如何在使用严格模式时从对象中删除属性,而不必诉诸克隆和循环属性,跳过要删除的属性?
更新和澄清:
我需要在将对象发送到服务器之前从对象中删除该属性,该服务器会抱怨未知属性.
delete是不严格禁止的模式.
在严格模式下删除不可删除的属性会引发错误.在非严格模式下,它会无声地失败.无论哪种方式,除了克隆对象外都不可能.
你不能删除普通名称; 抛出语法错误.如果变量是一个全局变量,你可以像这样绕过它;
// Imagine we're global here.
var foo = 4;
delete foo; // syntax error
delete window.foo; // works.
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
1519 次 |
| 最近记录: |