Najlepsze praktyki Javascript [zamknięte]

Jakie są dobre zasoby, aby nauczyć się najlepszych praktyk dla Javascript? Martwię się głównie o to, kiedy coś powinno być obiektem, a kiedy powinno być śledzone w DOM. Również chciałbym lepiej nauczyć się organizować mój kod, aby łatwo było przetestować jednostki.

Author: blake8086, 2008-09-02

9 answers

Seconding Javascript: The Good Parts and Resig ' s book Secrets of the Javascript Ninja.

Oto kilka wskazówek dla Javascript:

  • nie zanieczyszczaj globalnej przestrzeni nazw (umieszczaj wszystkie funkcje w obiektach / zamknięciach)
      Jest to ogromna baza kodowa z tylko dwoma globalnymi obiektami: YAHOO i YAHOO_config
  • użyj wzoru modułu dla singletonów ( http://yuiblog.com/blog/2007/06/12/module-pattern/)
  • spraw, aby twój JS był jak najbardziej wielokrotnego użytku (wtyczki jQuery, Moduły YUI, podstawowe obiekty JS.) Nie pisz mnóstwa globalnych funkcji.
  • nie zapomnij var swoich zmiennych
  • użyj JSlint: http://www.jslint.com/
  • Jeśli chcesz zapisać stan, prawdopodobnie najlepiej jest użyć obiektów zamiast DOM.
  •  36
    Author: Ryan Doherty,
    Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
    2008-09-02 16:31:14

    Nie zgadzam się z wyrażeniem "use a framework" w pewnym stopniu. Zbyt wielu ludzi ślepo korzysta z frameworków i nie rozumie, co dzieje się za zasłoną.

     9
    Author: Thomas Kjørnes,
    Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
    2009-02-01 11:48:50

    Podobało mi się JavaScript:The Good Parts Douglasa Crockforda, chociaż skupia się całkowicie na języku i całkowicie ignoruje DOM.

     5
    Author: Patrick McElhaney,
    Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
    2008-09-02 15:59:41

    Jeśli nie masz ochoty czytać możesz obejrzeć ten film: JavaScript the good parts by Doug Crockford .

     4
    Author: OscarRyz,
    Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
    2015-09-22 01:02:28

    Prawdopodobnie najważniejszą rzeczą jest użycie frameworka, takiego jak jQuery , Czy prototype , aby zniwelować różnice między przeglądarkami, a także ogólnie ułatwić sprawę.

     2
    Author: Cebjyre,
    Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
    2008-09-02 14:53:55

    YUI Theatre ma kilka filmów (niektóre z transkrypcjami) Steve ' a Soudersa, Douglasa Crockforda, Johna Resiga i innych na JavaScript, YUI, website performance i inne powiązane tematy.

    Są również bardzo zainteresowani google tech talks naYoutube {[2] } na jQuery i innych frameworkach.

     2
    Author: dplante,
    Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
    2009-06-07 05:18:06

    Możesz wiele nauczyć się z Pro JavaScript Techniques, a ja z niecierpliwością czekam na kolejne sekrety Ninja JavaScript.

     1
    Author: Hank Gay,
    Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
    2008-09-02 16:13:33

    Jako dodatek do książki Crockforda, możesz również zapoznać się z tym artykułem konwencje kodu dla języka programowania Javascript . Mam też nieco inną sugestię: zamiast używać biblioteki JS off the bat, dlaczego nie stworzyć własnej? Możesz napisać gównianą bibliotekę( tak jak ja), ale czegoś się nauczysz. Masz istniejące przykłady, które możesz wykorzystać jako modele. Ponadto, aby pomóc ci zrozumieć wzorce projektowe JS, polecam inną książkę, "Pro Javascript Design Patterns".

     1
    Author: bobtorp,
    Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
    2009-02-01 13:07:09

    Ten artykuł (z komentarzami) jest również bardzo pomocny:

    Http://www.dustindiaz.com/javascript-no-no/

     0
    Author: Canavar,
    Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
    2009-02-01 12:12:25