[JAVASCRIPT] Problème sans doute très simple... mais je trouve pas !

Problème sans doute très simple... mais je trouve pas ! [JAVASCRIPT] - Programmation

Marsh Posté le 29-03-2001 à 20:17:09    

Voilà pour simplifier mon problème qui est inclus dans un script un peu plus lourd, j'ai fait un script exemple :
function resultat(bp,bc)
{ this.bp = new Number(bp)
this.bc = new Number(bc)
}
essai = new resultat(3,3)
document.write(essai.bp == essai.bc)
Et si je fais document.write(essai.bp) il me sort 3. Pareil pour document.write(essai.bc). Alors pourquoi document.write(essai.bp == essai.bc) me renvoie false ??? Franchement sur ce coup je comprends pas... IE ou Netscape c pareil. Alors c sans doute très con comme solution, mais là je vois pas du tout ! Merci d'éclairer ma lanterne :jap:


---------------
Tell me why all the clowns have gone.
Reply

Marsh Posté le 29-03-2001 à 20:17:09   

Reply

Marsh Posté le 29-03-2001 à 20:41:57    

pasque .bp et .bc sont 2 objets differents !  
 
  this.bp = new Number(bp)   <-- nouvel objet !
  this.bc = new Number(bc)   <-- nouvel objet !
donc .bp sera toujours differents de .bc
 
par contre, si tu fais :
  this.bp = parseInt(bp)
  this.bc = parseInt(bc)
 
devrait te renvoyer le bon resultat lors de ta comparaison.
 
(je pense, pas sur, pas teste !)
 
ps: le script que je t'ai file marche parfaitement ;)


---------------
www.alliancefrancophone.org ... Home is where the heart is
Reply

Marsh Posté le 29-03-2001 à 21:20:35    

Je sais que ton script marche parfaitement mais je préfère faire mon propre script, parce que je ferai forcément des erreurs, et ça me forgera une expérience ! Et ces erreurs que je ferai dans ce script, je saurai les détecter dans d'autres scripts (enfin normalement :crazy: )


---------------
Tell me why all the clowns have gone.
Reply

Marsh Posté le 29-03-2001 à 21:23:21    

je sais... c'etait une blaaaague ;)
 
 
juste une question... pour ma culture generale... ca sert a quoi le new Number()... pasque je n'ai jamais utilise ca !? j'utilise le parseInt() ou a la limite un petit 1*variable mais le new Number()... jamais ! j'ai loupe qqchose d'important ?


---------------
www.alliancefrancophone.org ... Home is where the heart is
Reply

Marsh Posté le 29-03-2001 à 22:26:22    

new Number ça sert à faire comprendre à js qu'il a à faire à un nombre et pas à du texte. je m'en sers par exemple quand je dois utiliser nombre += un autre nombre... sinon il me met les deux à la suite ce couillon au lieu d'additionner :crazy:


---------------
Tell me why all the clowns have gone.
Reply

Marsh Posté le 29-03-2001 à 23:13:20    

ah ok...
c'est ce que je te disais plus haut: en fait moi ,j'utilise la fonction parseInt() qui te renvoie un nbre ou sinon quand j'ai la flemme, je fais nbre += (1 * variable) ... la multiplication te force le passage a un numerique... ou plante ou renvoie NaN si ca va pas... je ne me rappelle plus exactement !


---------------
www.alliancefrancophone.org ... Home is where the heart is
Reply

Marsh Posté le 29-03-2001 à 23:57:40    

JWhy a écrit a écrit :

je sais... c'etait une blaaaague ;)
 
 
juste une question... pour ma culture generale... ca sert a quoi le new Number()... pasque je n'ai jamais utilise ca !? j'utilise le parseInt() ou a la limite un petit 1*variable mais le new Number()... jamais ! j'ai loupe qqchose d'important ?




en java, les types primitifs genre int ne peuvent pas etre mis dans des vecteurs ou des hashtable qui eux ont besoin d'objets derivant de Object... D'ou l'interet des clases Integer  et autres.
'a surement analogie avec Number


---------------
Da Bomb!!!
Reply

Marsh Posté le 30-03-2001 à 00:18:16    

BaNZai> En Java oui: java.lang.Number est la superclasse de toutes les classes genre java.lang.Integer, java.lang.Float, java.lang.Short, java.lang.Double...
 
Mais JavaScript tient plus du langage de script que de Java, et dans ce cas ça n'a guère d'intérêt, à mon avis...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed