Camelize, CamelCase

Lundi, Octobre 20, 2008

Comme on le voit dans l'après Variété de codage et de codification des approches qui un développeur de mai ont à résoudre un problème sont nombreuses et variées du même langage de programmation utilisé. Voici comment certains des cadres de JavaScript plus populaires ont retrouvé une fonction simple de CamelCase:

Prototype.js

Prototype.js, version 1.6.0.3, proposer une camelize() méthode explicite camelize() pour rendre le camelcase sur une chaîne. L'approche de l'auteur est assez simple et le code est auto-explicatif. Dans ce cas n'a pas été fait usage des expressions régulières!

JavaScript:
  1. ( ) { camelize: function () (
  2. this . split ( '-' ) , len = parts. length ; var = parties cela. split (len = parties'-'),. longueur;
  3. len == 1 ) return parts [ 0 ] ; if (len == 1) return parts [0];
  4. this . charAt ( 0 ) == '-' camelized var = this. charAt (0) == '-'
  5. 0 ] . charAt ( 0 ) . toUpperCase ( ) + parts [ 0 ] . substring ( 1 ) ? Parts [0]. CharAt (0). ToUpperCase () + parts [0]. Substring (1)
  6. 0 ] ; : Parts [0];
  7. var i = 1 ; i < len ; i ++ ) for (var i = 1; i <len; i + +)
  8. i ] . charAt ( 0 ) . toUpperCase ( ) + parts [ i ] . substring ( 1 ) ; camelized + = parts [i]. charAt (0). toUpperCase () + parts [i]. substring (1);
  9. camelized retour;
  10. )

Jetez un oeil également à ce débat intéressant.

Mootools

Bibliothèque Mootools, version 1.2, propose également un camelCase() méthode camelCase() Dans ce cas, la fonction est beaucoup plus compacte que celle proposée par Prototype.js, grâce à l'utilisation des expressions régulières.

JavaScript:
  1. ( ) { CamelCase: function () (
  2. ( /-\D/g , function ( match ) { return this. replace (/ - \ d / g, (fonction match) (
  3. ( 1 ) . toUpperCase ( ) ; match retour. charAt (1). toUpperCase ();
  4. ));
  5. )

jQuery

jQuery, la version 1.2.6, ne propose pas une méthode explicite. Toutefois, en regardant dans le code, j'ai trouvé ceci:

JavaScript:
  1. name . replace ( /\-(\w)/g , function ( all , letter ) { return letter. toUpperCase ( ) ; } ) ; CamelCase = var nom. replace (/ \ - (\ w) / g, de la fonction (tous, lettre) (retour de courrier. toUpperCase ();));

En outre, comme un plugin, jQuery propose un prototype de chaîne des extensions Quand l'addition est, précisément, une fonction camelize()

JavaScript:
  1. / **
  2. * Retour à camelized String, supprimant tous les traits de soulignement et
  3. * Et la remplacer par une représentation en majuscule le caractère suivant.
  4. *
  5. * @ Example "font-weight". Camelize ()
  6. * @ Result "fontWeight"
  7. *
  8. * @ Example "border_width_bottom. Camelize ()
  9. * @ Result "borderWidthBottom"
  10. *
  11. * @ Example "border_width-bas». Camelize ()
  12. * @ Result "borderWidthBottom"
  13. *
  14. * @ Name camelize
  15. * @ Type String
  16. * @ Cat JavaScript / String
  17. * /
  18. , function ( ) { Add ( "camelize", function () (
  19. ( /[-_]([az])/ig , function ( z , b ) { return b. toUpperCase ( ) ; } ) ; return this. remplacer (/[-_]([ az]) / ig, function (z, b) (return b toUpperCase ();));
  20. ));

Ceci, en particulier, prend en considération le underscore (_) de caractères underscore (_) étant ainsi plus complet.

Related Post

Cet article était utile?: Per nientePocoAbbastanzaMoltoMoltissimo
Loading ... Chargement ...

Un commentaire pour "camelize, CamelCase"

  1. getAvatar 1.0
    28 mai 2009 Undolog.com "Très court extrait: PHP Slug:

    [...] Dans "this-et-un poste-". La transformation est similaire à celle de la camelize limace ou camelcase, qu'on voit ici. Voici une implémentation possible en PHP: Texte normal [...]

Laissez un commentaire

TAG PERMISSIONS XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> INSERTION CODE:
 <pre></pre>         // blocco generico [code][/code]       // blocco generico [as][/as]           // Actionscript [css][/css]         // CSS Style Sheet [html][/html]       // HTML [js][/js]           // Javascript [objc][/objc]       // Objective-C [php][/php]         // PHP [sql][/sql]         // SQL