Camelize, CamelCase

Wie in der Post gesehen Vielzahl von Codierungs-und Codierung Ansätze, die ein Entwickler haben ein Problem zu lösen können, sind vielfältig und vielfältig für die gleiche Programmiersprache verwendet. Hier ist, wie einige der bekanntesten JavaScript-Frameworks haben eine einfache Funktion gelöst CamelCase :

Prototype.js

Prototype.js , Version 1.6.0.3, explizit ein Verfahren vorgeschlagen, camelize() , um die camelcase an einer Schnur zu machen. Der Autor Der Ansatz ist denkbar einfach und der Code ist selbsterklärend. In diesem Fall war es nicht jegliche Verwendung von Regular Expression gemacht!

1
2
3
4
5
6
7
8
9
10
11
12
13
( ) { camelize: function () {
this . split ( '-' ) , len = parts. length ; var Teile = diese Spaltung ('-'), len = Teile Länge..;
len == 1 ) return parts [ 0 ] ; if (len == 1) return parts [0];

this . charAt ( 0 ) == '-' camelized var = dieser charAt (0) ==. '-'
0 ] . charAt ( 0 ) . toUpperCase ( ) + parts [ 0 ] . substring ( 1 ) ? Parts [0]. CharAt (0). ToUpperCase () + parts [0]. Substring (1)
0 ] ; : Parts [0];

var i = 1 ; i < len ; i ++ ) for (var i = 1, i <len; i + +)
i ] . charAt ( 0 ) . toUpperCase ( ) + parts [ i ] . substring ( 1 ) ; camelized + = parts [i] charAt (0) toUpperCase () + parts [i] substring (1)...;

camelized return;
}

Werfen Sie einen Blick auf diese interessante Diskussion .

mootools

Die Bibliothek mootools , Version 1.2, auch ein Verfahren vorgeschlagen, camelCase() . In diesem Fall wird die Funktion wesentlich kompakter als die von prototype.js vorgeschlagen, durch den Einsatz von regulären Ausdrücken.

1
2
3
4
5
( ) { camelCase: function () {
( /-\D/g , function ( match ) { Rückkehr dieser replace (/ -. \ D / g, function (match) {
( 1 ) . toUpperCase ( ) ; Rückspiel charAt (1) toUpperCase ()..;
});
}

jQuery

jQuery , Version 1.2.6, schlägt keine explizite Methode. Allerdings, spähte in den Code, fand ich dies:

1
name . replace ( /\-(\w)/g , function ( all , letter ) { return letter. toUpperCase ( ) ; } ) ; var name = camelCase replace (/ \ -. (\ w) / g, function (alle, Brief) {return Brief toUpperCase ();});.

Darüber, wie ein Plugin, jQuery bietet eine String-Prototyp-Erweiterungen , die, ergänzt in der Tat eine Funktion camelize() :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/ **
* Zu camelized String Return, Entfernen aller Unterstriche und Bindestriche
* Austausch der nächsten und mit ihm die Großbuchstaben Darstellung.
*
* @ Beispiel "font-weight". Camelize ()
* @ Result "fontWeight"
*
* @ Example "border_width_bottom". Camelize ()
* @ Result "borderWidthBottom"
*
* @ Example "border_width-bottom". Camelize ()
* @ Result "borderWidthBottom"
*
* @ Name camelize
* @ Typ String
* @ Cat JavaScript / String
* /
, function ( ) { add ("camelize", function () {
( /[-_]([az])/ig , function ( z , b ) { return b. toUpperCase ( ) ; } ) ; senden Sie dieses. ersetzen (/[-_]([ az]) / ig, Funktion (z, b) {return b toUpperCase ();});
});

Dies insbesondere berücksichtigt den Charakter underscore (_) , das macht sie zu vervollständigen.

One Response to "Camelize, CamelCase"

  1. 28. Mai 2009 Undolog.com "Sehr kurze Auszug: PHP slug :

    [...] In "this-and-a-post". Die Transformation ist ähnlich wie der Schnecke oder camelize camelcase, hier zu sehen. Hier ist eine mögliche Implementierung in PHP: PLAIN TEXT [...]

Hinterlasse einen Kommentar

XHTML TAG PERMIT: <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 [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL 


Stoppen SOPA