gpt4 book ai didi

javascript - 我无法将对象属性作为函数获取

转载 作者:行者123 更新时间:2023-11-28 09:16:19 25 4
gpt4 key购买 nike

光环伙计们..我是这个网站的新手,所以任何帮助将不胜感激。如果我的问题已存在于另一个主题中,请告诉我。我有以下问题..我创建一个具有另一个对象的对象。子对象有一些属性。每当我迭代子对象来获取属性时,似乎所有属性都是字符串类型。以下是我的代码:

    var obj = {}
obj.x = function(){
this.y = function(){

}
}

for(var a in obj){
alert(typeof(a) === "string"); //this will be true
alert(a.hasOwnProperty("y")); //this will be false
}

我用chrome来测试这个。难道 typeof(a) === "function"为 true 并且 a.hasOwnProperty("y") 也为 true 吗?我在这里看不到自己的错误。我很迷失......有什么想法吗?

最佳答案

obj.x是一个函数,如果你想使用该函数作为对象的构造函数尝试

obj.x = new (function(){
this.y = function(){

}
})();

你的测试也是错误的,a只是一个字符串,所以它当然不会有y属性。

for(var a in obj){
alert(typeof(obj[a]) === "object");
alert(obj[a].hasOwnProperty("y"));
}

关于javascript - 我无法将对象属性作为函数获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15602806/

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