但它的性能要比 object[key] = undefined 差很多
这个选择不是这个问题的正确答案!但是,如果你小心使用它,你可以大大加快一些算法。如果您delete在循环中使用并且在性能方面存在问题,可以考虑这种用法
在数组中,与普通的旧对象不同,使用delete在表单中留下垃圾,null在数组中创建一个“洞”, 而且length不变
以下二种方法是可以为input添加disabled属性的方法://两种方法设置disabled属性
$('#areaSelect').attr("disabled",true)
$('#areaSelect').attr("disabled","disabled")
以下三种方法是移除(去除)掉input的disabled属性的方法:
//三种方法移除disabled属性
$('#areaSelect').attr("disabled",false)
$('#areaSelect').removeAttr("disabled")
$('#areaSelect').attr("disabled","")
删除对象,直接使用delete就可以了。比如:delete document.getElementById('div')
删除一个属性的过程也很简单,就是将其置为undefined:
user.name=undefined
user.alert=undefined
这样就删除了name属性和alert方法。在之后的代码中,这些属性变的不可用。
在添加、修改或者删除属性时,和引用属性相同,也可以采用方括号([])语法:
user[“name”]=”tom”
使用这种方式还有一个额外的特点,就是可以使用非标识符字符串作为属性名称,例如
标识符中不允许以数字开头或者出现空格,但在方括号([])语法中却可以使用:
user[“my name”]=”tom”
需要注意,在使用这种非标识符作为名称的属性时,仍然要用方括号语法来引用:
alert(user[“my name”])
而不能写为:
alert(user.my name)