gpt4 book ai didi

javascript - 将成员添加到现有对象

转载 作者:行者123 更新时间:2023-12-03 01:56:25 24 4
gpt4 key购买 nike

假设我们有以下对象:

var obj = {
fn1: function() {
}
}

我如何动态添加另一个成员,比如说

fn2: function() {}

最佳答案

正如其他人指出的:

obj.fn2 = function(){ ... };

请注意,如果“fn2”不是有效标识符,则必须对对象使用“数组”表示法:

obj["fn2"] = function(){ ... };
obj["!! crazy-names#allowed?!"] = function(){ ... };

如果您将属性名称存储在变量中,您也可以这样做:

var propName = "fn2";
obj[propName] = function(){ ... };

如果要测试对象的属性是否存在,可以使用 in 运算符:

if ("fn2" in obj){ ... }

如果要从对象中删除属性,请使用delete关键字:

var o = { a:42 };
console.log( "a" in o ); // true
delete o.a; // Or delete o["a"]
console.log( "a" in o ); // false

要迭代对象中的所有属性,请在 for 循环中使用 in 运算符。请务必 var 变量,使其不是全局的:

var o = { a:42, b:17 };
var allPropertyNames = [];
var allPropertyValues = [];
for (var propName in o){
// If you don't do this test, propName might be a property inherited
// by this object, and not a property on the object itself.
if (o.hasOwnProperty(propName)){
allPropertyNames.push(propName);
allPropertyValues.push(o[propName]);
}
}
console.log( allPropertyNames ); // [ "a", "z" ]
console.log( allPropertyValues ); // [ 42, 17 ]

关于javascript - 将成员添加到现有对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4601008/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com