Camelize, CamelCase

Lunes, 20 de octubre 2008

Como se ve en el puesto de Variedades de la codificación y la codificación de los enfoques que un desarrollador puede tener que resolver un problema son variados y muchos de los mismo lenguaje de programación utilizado. He aquí cómo algunos de los marcos más populares de JavaScript han resuelto una simple función de CamelCase:

Prototype.js

Prototype.js, la versión 1.6.0.3, proponer un camelize() método explícito camelize() para hacer el camelcase en una cadena. El enfoque del autor es muy sencilla y el código es autoexplicativo. En este caso no se hizo uso de expresiones regulares!

JavaScript:
  1. ( ) { camelize: function () (
  2. this . split ( '-' ) , len = parts. length ; partes var partes = = esto. split (len'-'),. longitud;
  3. len == 1 ) return parts [ 0 ] ; if (len == 1) return partes [0];
  4. this . charAt ( 0 ) == '-' var = camelized esto. charAt (0) == '-'
  5. 0 ] . charAt ( 0 ) . toUpperCase ( ) + parts [ 0 ] . substring ( 1 ) ? Partes [0]. Charat (0). ToUpperCase () + partes [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 + = partes [i]. charAt (0). toUpperCase () + partes [i]. substring (1);
  9. volver camelized;
  10. )

Eche un vistazo también a este debate interesante.

mootools

Mootools Biblioteca, la versión 1.2, también propone una camelCase() método camelCase() En este caso la función es mucho más compacto que el propuesto por Prototype.js, gracias a la utilización de expresiones regulares.

JavaScript:
  1. ( ) { camelCase: function () (
  2. ( /-\D/g , function ( match ) { este regreso. replace (/ - \ d / g, function (partido) (
  3. ( 1 ) . toUpperCase ( ) ; partido de vuelta. charAt (1). toUpperCase ();
  4. ));
  5. )

jQuery

jQuery, la versión 1.2.6, no se propone un método explícito. Sin embargo, mirando en el código, he encontrado esto:

JavaScript:
  1. name . replace ( /\-(\w)/g , function ( all , letter ) { return letter. toUpperCase ( ) ; } ) ; var = camelCase nombre. replace (/ \ - (\ w) / g, la función (todos, carta) (carta de retorno. toUpperCase ();));

Por otra parte, como un plugin, jQuery ofrece una extensión del prototipo de cadena, donde añadido, precisamente, una función camelize()

JavaScript:
  1. / **
  2. * Volver a String camelized, la eliminación de todos los guiones y guiones bajos
  3. * Y que lo sustituya con representación en mayúsculas el carácter siguiente.
  4. *
  5. * @ Ejemplo "font-weight". Camelize ()
  6. * @ Result "fontWeight"
  7. *
  8. * @ Ejemplo "border_width_bottom. Camelize ()
  9. * @ Result "borderWidthBottom"
  10. *
  11. * @ Ejemplo "border_width-bottom". Camelize ()
  12. * @ Result "borderWidthBottom"
  13. *
  14. * @ Nombre camelize
  15. * @ Tipo String
  16. * @ Cat JavaScript / String
  17. * /
  18. , function ( ) { add ( "camelize", function () (
  19. ( /[-_]([az])/ig , function ( z , b ) { return b. toUpperCase ( ) ; } ) ; este regreso. reemplazar (/[-_]([ az]) / ig, function (z, b) (b regreso toUpperCase ();));
  20. ));

Esto, en particular, tiene en cuenta el underscore (_) el carácter underscore (_) por lo tanto ser más completa.

Post relacionados

Fue útil esta información?: Per nientePocoAbbastanzaMoltoMoltissimo
Loading ... Cargando ...

Un comentario a "camelize, CamelCase"

  1. getAvatar 1,0
    28 de mayo 2009 Undolog.com "un fragmento muy breve: babosa PHP:

    [...] En "esto-y-un-post". La transformación es similar a la de la babosa o camelize camelcase, visto aquí. He aquí una posible aplicación en PHP: Texto sin formato [...]

Deja tu comentario

TAG XHTML RESTRICCIONES: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> código de inserción:
 <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