gpt4 book ai didi

javascript - 在 JavaScript 中使用私有(private)成员函数对对象进行操作

转载 作者:行者123 更新时间:2023-12-02 19:52:19 25 4
gpt4 key购买 nike

我基本上是在尝试在 JavaScript 中创建一个通用对象,我可以用它来充当关联数组。
但我想为该对象提供一些自定义成员,以便能够对给定的对象进行操作。不用说我惨败了,希望有人能指出我正确的方向。

这是我正在谈论的通用对象。

function easeArray() {
this.valIndex = function(searchTerm,object) {
//searchTerm+object;
if (searchTerm in object) {
return "true" + object[searchTerm]
}
}
}

然后我尝试像这样初始化它。

     var  myCollection = new easeArray(); 
myCollection = {"dioxanes": 0, "shunning": 1, "plowed": 2,
"hoodlumism": 3, "cull": 4, "learnings": 5,
"transmutes": 6, "cornels": 7, "undergrowths": 8,
"hobble": 9, "peplumed": 10, "fluffily": 11,
"leadoff": 12, "dilemmas": 13, "firers": 14,
"farmworks": 15, "anterior": 16, "flagpole": 17};

这工作正常,但是当我尝试做这样的事情时:

  alert(myCollection.valIndex())

我收到一个错误。 类型错误:对象不支持属性或方法。

没关系,我没有将值传递给我理解的函数,该函数甚至无法识别。

我的最终结果是拥有一个通用对象,我可以初始化它并用键值对填充,然后简单地说 object.valindex("searchTerm");

任何帮助将不胜感激。

最佳答案

这不起作用,因为在最新的语句中您破坏了 easeArray 对象的实例。因此数组没有定义这样的方法

尝试使用此代码

var easeArray = function(obj) {
this.obj = obj
this.valIndex = function(searchTerm) {
if (searchTerm in this.obj) {
return "true" + this.obj[searchTerm];
}
}
}

var myCollection = new easeArray({
"dioxanes": 0, "shunning": 1, "plowed": 2,
"hoodlumism": 3, "cull": 4, "learnings": 5,
"transmutes": 6, "cornels": 7, "undergrowths": 8,
"hobble": 9, "peplumed": 10, "fluffily": 11,
"leadoff": 12, "dilemmas": 13, "firers": 14,
"farmworks": 15, "anterior": 16, "flagpole": 17
});

myCollection.valIndex("firers"); /* this returns "true14" */

关于javascript - 在 JavaScript 中使用私有(private)成员函数对对象进行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9128381/

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