簡體   English   中英

將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中,似乎先返回對該函數的第一個調用,然后返回隨后的調用。 因此,我的自叫小竅門似乎毫無用處。

這樣做的首選方式是什么?

問題在這里解決。 代碼可能有所發展,因此不完全相同,但是問題是相同的。

jQuery插件內部的自調用函數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM