352 votes

JavaScript : Réglage window.location.href versus window.location

Quand définiriez vous window.location à une chaîne d’URL versus définissant window.location.href ?

vs

Référence : https://developer.mozilla.org/En/DOM/Window.Location

291voto

bobince Points 270740

Vous pouvez définir directement car il est légèrement plus court. Si vous essayez d’être concis, vous pouvez généralement omettre la trop.

Affectations d’URL à la fois et sont définis afin de travailler en JavaScript 1.0, dans Netscape 2 et ont été mis en œuvre dans tous les navigateurs depuis. Alors faites votre choix et utilisez whichver, que vous trouverez des cas les plus manifestes.

151voto

psychotik Points 11937

Même si les deux fonctionnent, je voudrais utiliser ce dernier. ``est un objet, et assigner une chaîne à un objet n’est pas de bon augure de lisibilité ou d’entretien.

66voto

Kirby L. Wallace Points 555

Comme il a été dit déjà, fenêtre.emplacement de l'objet. Mais cette personne a suggéré d'utiliser. Mais, vous ferez mieux d'utiliser le ".href" version.

Les objets ont des propriétés par défaut qui, si rien d'autre n'est spécifié, ils sont supposés. Dans le cas de la fenêtre.l'emplacement de l'objet, il possède une propriété appelée ".href". Et en ne spécifiant pas de propriété lors de l'affectation, il assumera "href" par défaut.

C'est super bien jusqu'à ce qu'un plus tard de modèle d'objet de changements de version et il n'est plus un défaut de la propriété ou de la propriété par défaut est modifié. Alors votre programme pauses de façon inattendue.

Si vous voulez dire "href", vous devez indiquer "href".

23voto

Dovev Hefetz Points 121

Un couple d’années, window.location n’a pas fonctionné pour moi dans IE et a fait (et les deux ont travaillé dans d’autres navigateurs). Depuis lors, j’ai toujours utilisé et jamais eu de difficulté à nouveau. Je ne sais plus quelle version d’Internet Explorer qui a été.

16voto

Chadams Points 462

Juste pour clarifier, vous ne pouvez pas faire window.location.split('#'), car window.location est un objet, pas une chaîne. Mais vous pouvez faire window.location.href.split('#') ; window.location.href étant une chaîne.

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