gpt4 book ai didi

Javascript - 反射(reflect)封装的成员

转载 作者:行者123 更新时间:2023-12-04 00:08:07 25 4
gpt4 key购买 nike

我创建了一个 javascript“类”,如下所示:

function MyClass(member1, member2) {
this.Member1 = member1;
this.Member2 = member2;
}

所有成员都是字符串。

我想获取 MyClass 的实例并通过调用“清理”成员

function NoneBecomesNull(item) {
if (item === "[None]")
item = "";
return item;
}

对于类(class)的每个成员。有没有一种有效的方法来完成这个任务? (在 MyClass 有 30 个成员的情况下)。

我想避免做...

myClassInstance.Member1 = NoneBecomesNull(myClassInstance.Member1);
myClassInstance.Member2 = NoneBecomesNull(myClassInstance.Member2);
//...30+ times

最佳答案

尝试以下操作

for (var name in theObject) {
if (theObject.hasOwnProperty(name) && theObject[name] === "[None]") {
theObject[name] = "";
}
}

我使用 hasOwnProperty 来防止重置原型(prototype)链中更高层的属性。您的示例未在此处显示原型(prototype)链的使用,因此对于此示例可能没有必要。但这是很好的做法。

关于Javascript - 反射(reflect)封装的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7421634/

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