83 votes

Ce qui ' s le point de « javascript : » dans le code (pas les URL) ?

Je suis tombé sur quelque chose d'étrange que je n'ai jamais vraiment vu avant:

javascript:a=a+10;

La ligne ci-dessus semble être correct et évalue heureux (au moins dans Firefox) comme si l' javascript: partie n'a jamais existé.

Bien que je comprenne le but de la vieille - javascript:void(...) style <a href=".."/> utilisé pendant les âges sombres de l' DHTML, je ne peux pas comprendre tout l'utilisation de ce préfixe dans la plaine du code JavaScript.

A-t-elle une signification particulière?

97voto

Jules Points 5015

Le " " est une [étiquette](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label). C’est censé être utilisé pour identifier une boucle de sorte que vous pouvez ensuite utiliser " " pour sortir, mais est utilisée ici. Il est inoffensif, mais probablement pas une bonne idée d’ajouter une étiquette à une instruction qui n’est pas une boucle.

52voto

Quentin Points 325526

Il est syntaxiquement valide (c’est une étiquette) mais inutile. C’est la coupe cargo causée par copier/coller le code sans comprendre les gens.

12voto

AutomatedChaos Points 3895

JavaScript peut également être utilisé en dehors de pages web dans une Application HTML (HTA). Dans une ETS, il est possible d'utiliser un mélange de VBScript et JavaScript. Lorsque vous utilisez des scripts dans votre application, comme dans le suivant, le langage de script est automatiquement mis à VBScript.

<SCRIPT LANGUAGE='VBScript'> MsgBox 'Hi!'</SCRIPT>

Donc, un élément d'un événement onclick JavaScript, comme dans le suivant, une erreur sera générée.

<a id="myLink" href="#" onclick="MyFunction();return false;">Click me!</a>

Vous pouvez résoudre ce problème en définir explicitement le langage JavaScript par

<a id="myLink" href="#" onclick="javascript:alert('Javascript Executed!');return false;">Click me for Javascript!</a>

Ou en VBScript par

<a id="myLink" href="#" onclick='vbscript:msgbox "VBScript Executed!"'>Click me for VBScript!</a>

Note: je sais que c'est un cas de coin, mais c'est une utilisation réelle de l' javascript: label (peut-on encore appeler cela une étiquette dans ce contexte?) que j'ai rencontré lors de la création de langue mixte Hta.

-2voto

avsej Points 1085

Je suis d’accord sur l’inutilité de celui-ci comme un label, mais dans certains cas, il est toujours utile. Par exemple, vous devez exécuter un court extrait de la barre d’adresse ou écrire un bookmarklet. Mais dans ce cas, `` sera plus comme un schéma de Pseudo-protocole.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X