你好 Kai345,
Nehmen wir mal an, jemand kopiert sich die Methode trim in sein Script, hat aber einen Scriptteil, in dem (ist in diesem Falle mit dem Namen trim unwahrscheinlich, kann aber bei anderen Namen durchaus sein) eine Eigenschaft trim für das String-Objekt definiert. Schon ist
!= "function"
"true" und die Eigenschaft wird überschrieben.Wäre es nicht sicherer, auf "undefined" zu testen?
Wenn du eine allgemeingültige Bibliothek schreiben willst, würde man ein Namensmuster definieren, indem man solche Erweiterungen implementiert. Derjenige, der diese Bibliothek einsetzt, weiss das dann und hält sich daran.
Macht man es nur für ein Script, wäre es ein Bug, wenn man in .trim etwas reinschreibt und etwas später wieder überschreibt.
Ich halte diese Überprüfung für völlig ausreichend, der einzige Fall, der hier auftreten kann, in dem man nicht überschreiben will, ist der, dass es aus irgendwelchen Gründen bereits eine Funktion gibt, z. B. weil sie nativ eingebaut ist.
再见,
克里斯蒂安
Bauer sucht Frau! | Ich bin ja eigentlich kein Serien-Junkie…
Sich erinnern bedeutet, aus einer Erfahrung nicht ausreichend gelernt zu haben.
http://wwwtech.de/