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.










[...] 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 [...]