Какова наилучшая практика в отрасли и сообществе для кодирования правильно поддерживаемого удобочитаемого jQuery для большой кодовой базы? - PullRequest
5 голосов
/ 17 октября 2008

Исходя из Ruby-фона, я привык писать весь свой код, используя классы с методами и тому подобное. Я довольно хорошо знаю javascript, но я новичок в jQuery и его лучших практиках.

Очевидно, что в javascript есть миллион способов симулировать классы. Но что на самом деле использует сообщество jQuery в реальном мире?

Конкретные примеры были бы идеальными. Или ссылки на реальный производственный код. Также были бы полезны ссылки на вымышленный идеальный код.

Спасибо!

Ответы [ 3 ]

3 голосов
/ 21 октября 2008

Это не относится конкретно к jQuery, но мне нравится синтаксис литерала объекта для имитации классов в моем собственном коде.

http://ajaxian.com/archives/show-love-to-the-object-literal

Я часто использую что-то вроде этого (упрощенного) фреймворка:

var Widget = {

    sound:'bleep',

    load:function(){

        // do stuff here that doesn't need to wait until the DOM is ready.

        // Inside an anonymous function (such as the 'click' handler below),
        // 'this' loses its scope and no longer refers to the widget object.
        // To retain a reference to the widget object, assign 'this' to a
        // variable. I use an underscore... some people like 'self':
        var _ = this;

        // when the DOM is ready, run the init "method":
        $(document).ready(function(){
            _.init(); // the underscore now refers to the widget object
        });

    },

    init:function(){

        var _ = this;

        // whenever a <p class="noisy"> element is clicked, call makeNoise()
        $("p.noisy").click(function(){
            _.makeNoise();
        });

    },

    makeNoise:function(){

        alert(this.sound); // alert 'bleep'

    }

};

Widget.load();

Редактировать: Более подробная информация об использовании ключевого слова this приведена выше:

http://groups.google.com/group/jquery-en/browse_thread/thread/328d07f90467cccc?pli=1

2 голосов
/ 17 октября 2008

Я бы начал здесь для вдохновения:

http://errtheblog.com/posts/73-the-jskinny-on-jquery

0 голосов
/ 26 января 2010

Я борюсь с той же проблемой, используя jQuery в моем текущем проекте, и я чувствую то же самое в отношении jQuery. Это как большие цепочки загадочных методов. И когда он становится больше, требуется больше времени, чтобы понять, что я написал ранее.

Единственный способ сделать код jQuery более понятным: Шаблон модуля . Может быть, это может быть полезно. Также вы можете посмотреть на Ajaxian jQuery против Prototype: OO JavaScript с обучением или без колеса статья о той же проблеме.

...