Discussion:JavaScript

Une page de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
Autres discussions [liste]
  • Suppression
  • Neutralité
  • Droit d'auteur
  • Article de qualité
  • Bon article
  • Lumière sur
  • À faire
  • Archives


ca ne devrait pas rediriger vers Javascript plutôt ? ZeroJanvier 2 mar 2004 à 00:26 (CET)

Non, "JavaScript" est la dénomination originale, et on respecte en priorité la typographie voulue par les auteurs/propriétaires/etc. avant de se tourner vers d'autres règles.

Un déplacement de page vers Javascript serait tout à fait injustifié. Bien au contraire, si le contenu se développe un jour d'une façon sérieuse, c'est une redirection inverse qu'il faudra insérer dans Javascript vers JavaScript.

Ceci étant, le contenu de l'article mériterait quelques interventions... Jerotito 23 mar 2004 à 09:06 (CET)

ECMA-262 : norme ou standard ?[modifier le code]

Selon l'article Normes et standards industriels il s'agirait plutôt d'une norme mais je ne suis pas plus sûr que ça. En tout cas il était écrit une fois norme et une fois standard dans l'article et j'ai standardisé ça en norme pour l'instant :) -- BenoitL 29 jun 2004 à 22:23 (CEST)

Mon dictionnaire anglais-français traduit l'anglais standard par « norme » en français. L'ISO, International Organization for Standardization est en français « Organisation internationale de normalisation ». Je ne suis pas certain, mais je dirais qu'un standard est quelque-chose de communément utilisé, normalisé ou non (Windows). Un norme est quelque-chose de formellement définit, que se soit standard ou non (POSIX). Marc Mongenet 29 jun 2004 à 22:36 (CEST)

LiveScript[modifier le code]

J'ai trouvé un document qui me semble de bonne qualité pour extraire des informations sur les débuts de LiveScript / JavaScript / Java [1]. Reste à croiser avec d'autres sources, et il vaut mieux être prudent, car énormément d'ignorants ont confondus Java et JavaScript à l'époque. J'aimerais aussi pouvoir vérifier l'information selon laquelle la syntaxe de LiveScript a été modifiée pour ressembler à Java (ce qui n'est pas très utile). L'article passe sous silence le fait que Netscape a notamment développé JavaScript pour son serveur Web, il faut aussi rechercher des infos de ce côté. Marc Mongenet 29 jun 2004 à 22:55 (CEST)

J'ai ajouté une petite note concernant la confusion entre Java et JavaScript. En ce qui concerne la syntaxe c'est vrai que je n'avais pas vérifié, j'ai juste vu ça dans l'article anglais. Et en effet, il n'est précisé nulle part dans mes sources que cette syntaxe ait jamais été différente. À propos, ça se fait de lier directement vers un communiqué de presse ou ce lien devrait-il être placé en bas de page comme les autres ? -- BenoitL 30 jun 2004 à 02:32 (CEST)
Je vois mal comment on peut citer cette source d'une autre manière. Copier le lien en bas de page peut être utile. Mais déplacer le lien le détacherait du texte où on en a besoin, occasionant une perte d'information. Marc Mongenet 30 jun 2004 à 02:46 (CEST)
Concernant le wiki anglais, il n'est pas assez fiable pour être repris sans vérifications. Marc Mongenet 30 jun 2004 à 02:48 (CEST)
Oui j'ai été bête de ne pas vérifier cette partie-là, d'autant qu'il y avait déjà une erreur grosse comme une maison en ce qui concerne ActionScript qui était dit être intégré dans Adobe Reader au lieu de Macromedia Flash. -- BenoitL 30 jun 2004 à 09:40 (CEST)

Après lecture de l'interview de Brendan et fouille dans Usenet fin 1995, il apparaît que le changement LiveScript -> JavaScript est purement cosmétique. J'apporte les modifications à l'article. Marc Mongenet 29 jun 2004 à 23:30 (CEST)

Liens externes[modifier le code]

Concernant les liens externes, après avoir lu http://en.wikipedia.org/wiki/Wikipedia:Manual_of_style#External_links je pense que je suis dans un des cas sensés. Marc Mongenet 1 jul 2004 à 01:42 (CEST)

C'est moi, où certains liens sont là pour faire de la pub à des sites? Le lien sur les événements et vers la W3School est sympas, mais... Hors sujet. Le lien "En savoir plus" sur AJAX devrait être déplacé dans la page Ajax (le premier article de la page pointée parle d'Ajax et de PHP !!!). Paercebal 28 février 2007 à 00:02 (CET)

Particularités du langage[modifier le code]

Trouvez-vous tout ca suffisamment clair ? - soubok

pour moi c'est clair, d'ailleurs j'avais jamais vraiment compris les closures avant de voir cet exemple. Je rajoute un exemple sur le point-virgule Touffy
pour moi ce n'est pas clair du tout, et d'ailleurs l'exemple donné me semble exprimer exactement le contraire de ce qui est dit dans le texte. En effet dans l'exemple de la «fermeture», la fonction «ajouteur» est une fonction qui prend en argument un nombre et renvoie en résultat un fonction (qui elle-même prend en argument un nombre et renvoie un nombre). Donc quand on fait appel à ajouteur(10) alors ajoute10 prend comme valeur une fonction. Et ensuite on utilise cette fonction tout naturellement avec un paramètre pour obtenir un nombre. Je ne vois vraiment pas à quel moment est-ce qu'on «a toujours accès au paramètre effectif nombre» comme cela est indiqué. IOL faut faire attention, la fonction ajouteur renvoie bien une fonction, ce n'est pas une macro qui renvoie un bout de code qui contient le paramètre «nombre» auquel on aurait magiquement encore accès par je ne sais quel propriété. En plus ça ne me paraît pas être une particularité du langage, des langages fonctionnels comme ocaml manipule les fonctions comme des objets comme les autres (et peuvent donc être utilisé comme paramètre et comme résultat au même titre que des entiers, des chaînes de caractères, etc.). Je pense que ce qui est faux ce n'est pas l'exemple mais l'explication qui est en donné. En aucun cas, et heureusement, on a accès à des objets qui font partie d'un autre bloc de code mais ça illustre simplement le fait que javascript est capable de traité un fonction comme n'importe quel autre objet (un nombre, une chaîne de caractère, etc.) pour le renvoyer comme résultat. C'est pourquoi j'ai mis un tag «référence nécessaire» car ce qui est dit me paraît très douteux mais je ne m'y connais pas suffisamment en javascript pour supprimer ce qui est dit. SI ce qui est dit est vrai alors il faut mettre une référence, et changer l'exemple car il n'exprime absolument pas ça.
Je reviens après avoir vérifier ce qui était dit à propos des «closures» sur les articles de références (http://jibbering.com/faq/faq_notes/closures.html par exemple). et je pense que l'auteur de cette section ici n'a tout simplement pas compris de quoi il s'agit, donc soit à retirer, soit à réécrire. La fermeture javascript correspond à ce qu'on appel plus communément «les effets de bords» en informatique: Quand on fonction définie en interne d'une autre fonction (sa fonction externe pour elle) et utilise une variable déclarée localement à cette fonction externe est rendue accessible à l'extérieur de la fonction externe, alors la question de la fermeture javascript parle de comment cette vairable est considérée. D'après ce que j'ai compris lorsque la fonction interne est rendue en paramètre à l'extérieure alors on lui colle en mémoire la valeur actuelle des paramètres locaux quelle utilise. Si c'est ça alors c'est exactement ce que font tous les langages qui manipulent des fonctions comme ocaml ou lisp ou d'autres (et ça correspond effectivement à ce qu'on appelle une forme close en lambda calcul) et je pense pas que ça ne mérite une section consacrée à ça puisque c'est parfaitement standard comme comportement, en tout cas pas aussi mal expliqué. En revanche si ce n'est pas ça alors effectivement il faut une section qui est conscarée et avec une explication bien conséquente qui explique bien la différence avec le comportement attendu (à la ocaml) et ce que fait javascript. En tout cas en l'état c'est pas clair dut tout--24 février 2010 à 18:29.

Ahem... C'est vrai que l'article est confus. Peut-être trop complet. Peut-être que la liste des améliorations dans chaque version est en trop. Et puis, il n'y a pas de "hello world". Il nous faudrait un programme de base décrivant quelques types, comme:

  // ceci est un commentaire
  function maFonction() // Ceci est une déclaration de fonction
  {
     var b = true ; // Ceci est la déclaration d'un booléen
     var i = 0 ; // Ceci est un nombre
     var str = "Hello" ; // Ceci est une chaîne
  
     var a = [5, "world", true] ; // Ceci est un tableau contenant 5, "world" et true
     a[1] = "bonjour" ; // Ceci remplace l'élément n°1 du tableau par "bonjour"
  
     var o = new Object() ; // Ceci crée un objet
     o.value = 3 ; // Ceci rajoute une propriété value à o, et lui donne la valeur 3
     o.inc = function() { this.value = this.value + 1 ; } ; // Ceci rajoute une fonction inc qui incrément value de 1
  }

Je pense que cet exemple est assez exhaustif pour comprendre vaguement comment est structuré le langage. On peut alors passer aux fonctions anonymes et aux prototypes en étant plus rassurés sur la santé mentale du lecteur... Bref, je pense que l'article est clairement intéressant pour quelqu'un qui a une familiarité avec le langage, mais je pense qu'il est obscur pour un néophite, et reste confus même pour quelqu'un qui est familier avec le sujet. Il faudrait peut-être réarranger sa structure. Bien séparer l'histoire, puis le langage, puis son utilisation dans un navigateur (inclu dans du code HTML), et seulement à la fin, mentionner les différentes variantes du JavaScript, comme JScript, ActionScript, etc. Qu'en pensez-vous?. Paercebal 27 février 2007 à 23:54 (CET)

La casse[modifier le code]

Ne serait-il pas avisé de parler de la sensibilité à la casse de ce langage ? C'est pour moi quelque chose de très important, si ce n'est primordial. Cela peut paraître évident, mais ça ne l'est pas forcément. -Pols12- 213.111.41.58 (d) 9 décembre 2010 à 16:12 (CET)

Evénements[modifier le code]

Je pense que le paragraphe sur les événements est hors sujet: Ces événements sont des événements du DOM (XML ou HTML), et en aucun cas un particularité de JavaScript. De plus, ce chapitre est très long, ne serait-ce que parce que c'est une liste qui se veut exhaustive, mais n'explique par réellement les différentes manières en JavaScript d'utiliser ces événements (ce qui serait hors sujet aussi, à mon avis). Je suis d'avis de le supprimer. Paercebal 27 février 2007 à 23:54 (CET)

Effectivement. Ces évènements ne sont pas du javascript pur mais plutot lié aux navigateurs. Je pense que tu as raison, ils n'ont rien à faire là. Par contre, peut etre ont-ils leurs placent dans un article sur le DOM ? développement Web ? MaDeViLtS 13 mars 2008 à 10:46 (CET)

wikipedia est un cours d informatique !![modifier le code]

suis contre la présence de code source dans un article de wikipédia . suis contre aussi l'étude de bibliothèque d'API de syntaxe ou autre avez vous déja vu cela dans un dictionnaire !! quand à celui qui affirme que des personnes ont confondu javascript et java, si ces personnes savaient coder et tester la technologie la confusion est impossible !!!. Ces personnes ne sont pas des programmeurs c'est tout et cela explique la confusion l'erreur tout à fait normale. A l'époque de java au tout début il etait facile d 'écrire du code java et javascript comme le simple hello world . si on veut ecrire du code alors oui utilisons hello world

Bonjour, je ne crois pas que l'argument "je suis contre alors je l'ai supprimé" soit nécessairement le genre de discussion que l'on cherche à susciter ici... Il serait probablement apprécié que vous détailliez un tant soit plus pourquoi vous êtes contre. Je fait remarquer que wikipédia n'est pas un dictionnaire, mais un encyclopédie (le niveau de détails est très différent). Je ne suis pas à 100% contre votre démarche, je suis plutôt d'avis même qu'il y a un peu trop de code ici et pas assez . Mais il y a une marge avec procéder aujourd'hui à la suppression de code sources sur l'ensemble de l'encyclopédie, surtout si on considère le nombre probablement important de participants qui semble juger bon de laisser ces codes à leurs places (puisqu'ils n'ont pas soulevé la question jusqu'ici). Dernier détail : est-il possible de signer vos remarques dans la discussion (pas les articles) avec 4 tildes : ~~~~ ? J'espère ne pas vous décourager à participer . Iluvalar (d) 3 septembre 2008 à 21:37 (CEST)
Bonjours, je ne pense pas qu'enlever le code soit une bonne idée. En effet comme les articles de wikipédia parlant de mathématique utilisent des exemples de formules alors je pense que oui les article proposant du contenu informatique (langage de programmation surtout) devrait contenir des petits bouts de code. Mais pas trop non plus. Je pense qu'ici il en est fait bonne utilisation. Agranger36 (d) 5 septembre 2009 à 15:23 (CEST)
«avez vous déja vu cela dans un dictionnaire !! »: wikipedia n'est pas une dictionnaire mais une encyclopédie, il va falloir s'y faire! Et si on n'a pas encore vu de morceaux de code source dans une encyclopédie c'est parce ce qu'elles ne sont pas à jour. Dans n'importe quelle encyclopédie digne de ce nom tu trouveras des formules mathématiques dans les articles qui parlent de mathématiques et des citations d'auteurs dans les articles de littératures, etc. Il n'y a aucune raison de ne pas faire de citation de code source dans un article qui parle d'informatique. Et puis si la balise «code» existe sur wikipedia ce n'est pas par hasard. Ce n'est pas parce qu'il y a des citations de code source qu'il s'agit d'un cours d'informatique, de la même manière que de donner la formule de pythagore dans l'article approprié n'est pas un cours de math mais une citation de la formule dont on parle. Ce serait quand même un comble d'écrire un article sur un langage informatique sans jamais montrer à quoi il ressemble concrètement !
Une autre raison pour laquelle il n'y a pas beaucoup de code dans les revues scientifiques ou encyclopédiques c'est parce qu'ils prennent généralement beaucoup de place et lors d'une impression sur papier la taille des articles c'est important, donc il faut faire des coupes. Wikipedia n'a pas ce problème donc il n'y a aucune raison de se priver, tant que çà reste dans le raisonnable. N'oublions pas qu'une formule mathématiques ou du code source ou une référence littéraire ne sont considéré que comme des citations et doivent être utilisés comme tels à la fois dans la longueur du choix de la citation et dans leur présentation (en particulier on oublie trop souvent de citer les auteurs ou la provenance de codes sources dont on n'est pas soi-même l'auteur, il faut le faire, sinon c'est s'attribuer le travail de quelqu'un d'autre).

[modifier le code]

Je pense que le logo devrait être changé. Il parle de politique et même si ça n'intéresse pas grand monde, ça peut en énerver certains (ordre des partis, seulement 2 partis, etc.). Ça n'est pas très important... ça m'a juste parût un peu bizarre.

Je mettrais plutôt un "hello world" ou rien du tout.

Si cela veut dire "je mettrai" alors c'est ici. JackPotte (d) 20 novembre 2009 à 23:54 (CET)

JScript[modifier le code]

Depuis quand Microsoft développe des choses ?...

Ne devrait-on pas mettre l'accent un peu plus sur le fonctionnel ?[modifier le code]

A la lecture de cet article, j'en retire l'impression que javascript est avant tout un langage orienté objet. Or, dans la pratique, particulièrement depuis l'apparition des librairies ajax puis de la démocratisation de la programmation en javascript hors du navigateur (côté serveur par exemple), les programmeurs utilisant javascript se sont rendu compte que l'un des gros atouts de ce langage est son caractère fonctionnel. C'est ce qui fait qu'il se prette si bien á la programmation asynchrone/non-bloquante. Et ce n'est pas rien. A mon sens, c'est une caractéristique de javascript au moins aussi importante que son caractère orienté objet, sinon plus.

Illusion des fermetures en Javascript[modifier le code]

Pour revenir sur la notion des fermetures en Javascript, je confirme les doutes déjà exprimés. Javascript paraît implémenter le principe des fermetures comme dans les langages type OCaml mais c'est juste une illusion car dès qu'on utilise ce mécanisme de façon un peu plus poussé avec des fonctions sur des fonctions, de nombreux comportements déroutants apparaissent... de quoi s'arracher les cheveux.

Néanmoins, je suppose que dans les cas simples où l'on utilise uniquement des callbacks pour gérer les événements d'une page web, tout se passe bien.

Je ne comprends pas[modifier le code]

la section

Fonctions anonymes[modifier le code]

Une fonction anonyme est, comme son nom l'indique, une fonction qui n'a pas de nom.

//Exemple 1

var maFonction = function(message) {
  alert(message);
};

// affiche: ceci est un test
maFonction('ceci est un test');
<!-- Exemple 2 -->
<html>
  <body onload="setTimeout( function() { 
    alert( 'chargement de la page terminé il y a une seconde et demie' ) 
    }, 1500 );">
  </body>
</html>

Le premier exemple me semble bien être une fonction nommée "maFonction". Quel est la raison ? Est-ce une erreur ? Veuillez expliquer svp.

C'est bel et bien une fonction anonyme, car elle n'a pas de nom. C'est simplement la variable maFonction à qui on attribue la valeur d'une fonction. --Dab653 17 juin 2012 à 19:34 (CEST)


L'introduction[modifier le code]

  • Sans chercher à faire un manuel, serait-il possible de donner plus d'informations générales simples dans l'introduction ?

«  JavaScript (souvent abrégé JS) est un langage de programmation de scripts principalement utilisé dans les pages web interactives mais aussi côté serveur1. Pour fonctionner, il doit être interprété par le navigateur (logiciel comme Firefox, Internet Explorer, etc) ou par une machine virtuelle java installée par l'utilisateur. C'est un langage orienté objet à prototype, etc  »

--Logophile (discuter) 20 août 2013 à 13:10 (CEST)

Dater les versions[modifier le code]

Je trouverais bon de dater les différentes versions de Javascript.

D'une part pour l'aspect encyclopédique de l'information transmise.

D'autre part pour se rendre compte si l'on parle de modernité ou d’obsolescence.

Liaison des identifiants[modifier le code]

Étant donné qu'à priori un article s'adresse premièrement au personnes n'ayant pas de connaissance dans le sujet de cet article, ne serait-il pas plus simple de dire que ce qui est appeler variable dans ce langage est strictement l'équivalent de ce qui est appelé pointeur dans d'autres langages comme PL/1, Pascal, Algol--207.35.210.19 (discuter) 20 décembre 2017 à 21:03 (CET)

Versions[modifier le code]

La section traitant des version de Javascript est pour le moment presque vide et ne contient que des dates de sortie et quelques détails. Il serait intéressant de détailler la nature des changements entre les différentes versions, puisque sous sa forme actuelle, la section ne contient aucune information intéressante. Elle devrait sinon être rééditée sous forme de liste ou de tableau. Et encore là, un descriptif des modifications serait encore de mise.--Frantoine (discuter) 19 novembre 2018 à 17:50 (CET)