将php转换为javascript,自调用函数
converting php to javascript, self-calling functions
我在php中有这个自调用功能...
function listContent($haystack,$parent) {
echo '<ul>';
foreach ($haystack as $f) {
if($f['parent'] == $parent) {
echo '<li>';
echo $f['name'];
$this->listContent($haystack,$f['fileId']);
echo '</li>';
}
}
echo '</ul>';
}
我正在尝试用 javascript(jQuery 插件)这样写
var drawTree = function(self,parent){
console.log('running...');
var gd = self.data('galleryData');
var html = '<ul>';
for (i = 0; i < gd.length; ++i) {
if ( (gd[i]['isFolder'] == true) && (gd[i]['parent'] == parent) ) {
html += '<li data-folder="'+gd[i]['fileId']+'">';
html += gd[i]['name'];
self.data(drawTree(self,gd,gd[i]['fileId']));
html += '</li>';
}
}
html += '</ul>'
return html
};
this.data('drawTree',drawTree); //to make callable outside of plugin initial execution
但是似乎有几个问题。
首先,在 PHP 中,所有对该函数的调用都将在返回任何内容之前执行。
然而,在 javascript 中,似乎首先返回对该函数的第一次调用,然后是后续调用。
所以我的自调用小技巧似乎没什么用。
执行此操作的首选方法是什么?
问题到此解决。代码可能进化了一点所以不完全一样,但是问题是一样的。
我在php中有这个自调用功能...
function listContent($haystack,$parent) {
echo '<ul>';
foreach ($haystack as $f) {
if($f['parent'] == $parent) {
echo '<li>';
echo $f['name'];
$this->listContent($haystack,$f['fileId']);
echo '</li>';
}
}
echo '</ul>';
}
我正在尝试用 javascript(jQuery 插件)这样写
var drawTree = function(self,parent){
console.log('running...');
var gd = self.data('galleryData');
var html = '<ul>';
for (i = 0; i < gd.length; ++i) {
if ( (gd[i]['isFolder'] == true) && (gd[i]['parent'] == parent) ) {
html += '<li data-folder="'+gd[i]['fileId']+'">';
html += gd[i]['name'];
self.data(drawTree(self,gd,gd[i]['fileId']));
html += '</li>';
}
}
html += '</ul>'
return html
};
this.data('drawTree',drawTree); //to make callable outside of plugin initial execution
但是似乎有几个问题。
首先,在 PHP 中,所有对该函数的调用都将在返回任何内容之前执行。 然而,在 javascript 中,似乎首先返回对该函数的第一次调用,然后是后续调用。 所以我的自调用小技巧似乎没什么用。
执行此操作的首选方法是什么?
问题到此解决。代码可能进化了一点所以不完全一样,但是问题是一样的。