10 Fehler in Javascript, man nicht machen sollte ...
jobo
- javascript
0 Klawischnigg0 jobo
0 dave0 jobo
1 molily
Hi there,
Hallo,
http://net.tutsplus.com/tutorials/javascript-ajax/the-10-javascript-mistakes-youre-making/
Naja, manche Sachen sind schon an den Haaren herbeigezogen, vor allem:
"Mistake 7 - You’re Not Using a Radix When Using parseInt"
Hallo,
http://net.tutsplus.com/tutorials/javascript-ajax/the-10-javascript-mistakes-youre-making/
Naja, manche Sachen sind schon an den Haaren herbeigezogen, vor allem:
"Mistake 7 - You’re Not Using a Radix When Using parseInt"
- da hab ich das Wort Klippenschliefer in meinem Leben öfter geschrieben als parseInt verwendet...
Jaja, der Klippdachs. Den kannte ich vorher noch garnicht (;-).
Gruß
jobo
Hi there,
Jaja, der Klippdachs. Den kannte ich vorher noch garnicht (;-).
Dann hast Du das Wort noch seltener geschrieben als ich (wobei ich jetzt, selbst neugierig geworden, feststellen musste, daß das Ding Klippschliefer und nicht Klippenschliefer heisst...;)
(wobei ich jetzt, selbst neugierig geworden, feststellen musste, daß das Ding Klippschliefer und nicht Klippenschliefer heisst...;)
Domestiziert und große, oft schwarze, Musikinstrumente bewohnend heißt er Klawischliefer. Das "ier" wurde nur nicht weggelassen sondern mit dem "v" zu einem "w". ;-)
Hallo,
was die tücken von Javascript angeht fand ich diese Seite sehr gut.
schaut gut aus ...;
Gruß
jobo
http://net.tutsplus.com/tutorials/javascript-ajax/the-10-javascript-mistakes-youre-making/
Der Artikel vermischt gute (altbekannte) Faustregeln mit Stilfragen und hat zudem einige Fehler. Vieles wird als »Mistake« bezeichnet, was man beherrschen anstatt vermeiden sollte. Etwa ==. Type Coercion ist ein nützliches Feature von schwach typisierten Sprachen, das einem vieles vereinfacht und nur weniges erschwert.
Ein schwerwiegender Fehler ist beispielsweise, new Array/Object mit new Boolean/Number/String gleichzusetzen und als »Type Wrapper Objects« zu bezeichnen. Korrekt wäre Boxed Primitives für new Boolean/Number/String. new Object/Array hingegen sind nur Langschreibweisen der entsprechenden Literale. Funktional sind beide Schreibweisen identisch. Das ist bei Boxed Primitives ganz anders. Im Übrigen kann man selbst Objekte erzeugen, die Primitives verpacken, indem man Methoden wie valueOf und toString implementiert.
Mathias
Hallo,
http://net.tutsplus.com/tutorials/javascript-ajax/the-10-javascript-mistakes-youre-making/
Der Artikel vermischt gute (altbekannte) Faustregeln mit Stilfragen und hat zudem einige Fehler. Vieles wird als »Mistake« bezeichnet, was man beherrschen anstatt vermeiden sollte. Etwa ==. Type Coercion ist ein nützliches Feature von schwach typisierten Sprachen, das einem vieles vereinfacht und nur weniges erschwert.
Naja, Crockford zum Beispiel sieht das ja anders. Er meint, wenn ich es kapiere, dass der mutaßliche Grad der Erschwernis mehr wiegt. Insofern würde ich das nicht als einen Fehler sondern eine Ansichtssache bezeichnen.
Ein schwerwiegender Fehler ist beispielsweise, new Array/Object mit new Boolean/Number/String gleichzusetzen und als »Type Wrapper Objects« zu bezeichnen. Korrekt wäre Boxed Primitives für new Boolean/Number/String. new Object/Array hingegen sind nur Langschreibweisen der entsprechenden Literale. Funktional sind beide Schreibweisen identisch. Das ist bei Boxed Primitives ganz anders. Im Übrigen kann man selbst Objekte erzeugen, die Primitives verpacken, indem man Methoden wie valueOf und toString implementiert.
Deckt sich das mit der Aussage dieses Ausschnittes http://docstore.mik.ua/orelly/webprog/jscript/ch03_12.htm? Ich kapiere es noch nicht so ganz.
Gruß
jobo
Hallo,
Ein schwerwiegender Fehler ist beispielsweise, new Array/Object mit new Boolean/Number/String gleichzusetzen und als »Type Wrapper Objects« zu bezeichnen. Korrekt wäre Boxed Primitives für new Boolean/Number/String. new Object/Array hingegen sind nur Langschreibweisen der entsprechenden Literale. Funktional sind beide Schreibweisen identisch. Das ist bei Boxed Primitives ganz anders. Im Übrigen kann man selbst Objekte erzeugen, die Primitives verpacken, indem man Methoden wie valueOf und toString implementiert.
Deckt sich das mit der Aussage dieses Ausschnittes http://docstore.mik.ua/orelly/webprog/jscript/ch03_12.htm? Ich kapiere es noch nicht so ganz.
Mit den Begrifflichkeiten zu googlen bringt dann Treffer in Java zuerst. Aber das hier trifft es wohl:
String.prototype.returnMe= function() {
return this;
}
var a = "abc";
var b = a.returnMe();
a; //"abc"
typeof a; //"string" (still a primitive)
b; //"abc"
typeof b; //"object"
aus: http://javascriptweblog.wordpress.com/2010/09/27/the-secret-life-of-javascript-primitives/
Gruß
jobo
Deckt sich das mit der Aussage dieses Ausschnittes http://docstore.mik.ua/orelly/webprog/jscript/ch03_12.htm?
Ja. Diese Beschreibung ist sehr gut.
Mathias
Hallo,
Ein schwerwiegender Fehler ist beispielsweise, new Array/Object mit new Boolean/Number/String gleichzusetzen und als »Type Wrapper Objects« zu bezeichnen. Korrekt wäre Boxed Primitives für new Boolean/Number/String. new Object/Array hingegen sind nur Langschreibweisen der entsprechenden Literale. Funktional sind beide Schreibweisen identisch. Das ist bei Boxed Primitives ganz anders. Im Übrigen kann man selbst Objekte erzeugen, die Primitives verpacken, indem man Methoden wie valueOf und toString implementiert.
"i) Typed Wrappers
JavaScript has a set of typed wrappers. For example:
new Boolean(false)
produces an object that has a valueOf method that returns the wrapped value. This turns out to be completely unnecessary and occasionally confusing. Don't use new Boolean or new Number or new String.
Also avoid new Object and new Array. Use {} and [] instead
"
http://prasanthaboutjava.blogspot.com/2008/08/javascriptthe-good-parts-by-douglas.html
Gruß
jobo
"i) Typed Wrappers
JavaScript has a set of typed wrappers. For example:new Boolean(false)
produces an object that has a valueOf method that returns the wrapped value. This turns out to be completely unnecessary and occasionally confusing. Don't use new Boolean or new Number or new String.
Also avoid new Object and new Array. Use {} and [] instead
"http://prasanthaboutjava.blogspot.com/2008/08/javascriptthe-good-parts-by-douglas.html
Was willst du mir damit sagen?
Array und Object sind keine »Typed Wrappers«. Sie wrappen nichts. Sie erzeugen einach Objects. new Boolean/Number/String hingegen wrappen Primitives. Technisch und praktisch gesehen ist das etwas ganz anderes.
Mathias