我有一个带有嵌套函数的jQuery插件(存储在数据对象上,以便我以后可以调用它)。我的问题是,当我调用此函数时,它似乎无法返回一个简单的值,它返回undefined或插件附加到的html对象...
var findTheObject = function(self,needle) {
var haystack = self.data('galleryData');
console.log('haystack is:');
console.log(haystack);
console.log('needle is:');
console.log(needle);
for (i = 0; i < haystack.length; ++i) {
console.log('looking for needle...');
if (haystack[i]['fileId'] == needle) {
console.log('found needle:');
console.log(haystack[i]);
return haystack[i];
}
}
return 'found no match';
};
this.data('findTheObject',findTheObject); //make callable later on through the data array.
我称之为:
if (self.data("activeFolder") != null) {
var needle = self.data("activeFolder");
var haystack = self.data('galleryData');
current = null;
//find the object corresponding to data("activeFolder")
current = self.data(findTheObject(self,needle));
console.log('returned object is:');
console.log(current);
答案 0 :(得分:0)
引用(Satpal):
像self.data一样使用它(&#39; findTheObject&#39;)(自我,针)
在语句self.data(findTheObject(self,needle))中,首先调用全局函数findTheObject然后返回它假设一个字符串abc然后它正在寻找self.data(&#39; abc&#39;)
关闭报价。
我喜欢在回答问题时检查我的问题。这个答案的信用到Satpal但是因为他选择不发布它作为答案我将总结他的答案(如果你发表答案,我会检查答案,并取消我自己给你的答案)