Mon but est de créer une sorte de "bibliothèque Javascript", si vous pouvez l'appeler ainsi. J'ai l'intention de l'utiliser pour simplement manipuler des pages pendant que je navigue sur le Web, en le chargeant dynamiquement comme un script greasemonkey. L'idée est d'avoir "win
" être mappé à window
, "doc
" ->document
, "win.loc
" ->win.location
, et quelques autres mappings de commodité, mais vous avez l'idée. Pouvez-vous me donner quelques exemples pour moi, et je vais extrapoler le reste? Merci beaucoup.Alias Javascript
Répondre
Juste assigner des variables comme ceci:
var win = window;
var doc = document;
Vous ne pouvez pas affecter win.loc
sans modifier l'objet window
dans ce cas cependant. En outre, l'objet de la fenêtre est spéciale car après l'attribution win
, vous serez en mesure d'obtenir avec win.win
ou win.win.win
et ainsi de suite (window
est l'objet global.)
Dans tous les cas, vous pouvez d'affecter encore loc
à l'objet window
:
win.loc = window.location;
// Can now be referenced as:
loc; // (window is the global object)
win.loc;
win.location;
window.location;
maintenant, c'est comment faire ce que vous demandez. Probablement vous ne devrait pas le faire. En règle générale, les cadres sont définis pour utiliser jusqu'à une seule variable globale, avec un nom approprié:
var Blixt = (function() {
var localVariable = 123;
return {
loc: window.location,
myFunc: function() {
alert(localVariable);
}
};
})();
Tout cela est une chose assez complexe si vous n'êtes pas familier avec JavaScript, donc ce n'est pas un bon projet pour commencer Si vous êtes nouveau sur JavaScript
** NOTE: ** Ceci est vraiment une demande de clarification de la réponse de Blixt ci-dessus, qui ne rentre pas dans un commentaire.
Ok, merci - c'est une très bonne réponse. Je voudrais simplement apporter quelques précisions à ce:
Si je définir les alias à l'aide de la syntaxe que vous avez donné ci-dessus,
win.loc
se comportera exactement les mêmes quewindow.location
sans exception? (Juste s'assurer)J'ai suivi la plupart de celui-ci, mais la partie avec la fonction
Blixt
je ne comprenais pas. Quel est le comportement/résultat attendu de la définition de cette fonction?Je suis un peu nouvelle à JS, mais pourquoi est-ce pas une bonne idée? Quelles conséquences négatives pourrait-il avoir? Je cherche juste à faire des choses comme
C-l javascript:win.loc=doc.ref<ENTER>
pour un onglet qui a été ouvert par CTRL en cliquant sur un lien dans un autre onglet, rien de trop complexe.parlant de ça, et j'ai le sentiment que cela pourrait être différent du navigateur à l'autre, mais est-il un moyen possible pour moi de définir un schéma d'URI
js:
et la carte à lajavascript:
un? Merci pour la bonne réponse.
(1) Oui, c'est une référence à exactement le même objet. (2) Blixt n'est pas une fonction; c'est un objet retourné par la fonction anonyme (notez que la fonction est appelée et Blixt est assignée au résultat.) C'est une technique appelée "fermetures" qui signifie que les variables définies dans la fonction y sont conservées plutôt que définies dans l'espace de noms global . (3) Si vous gardez seulement ce script pour vous, cela n'a pas d'importance. Mais lorsque vous mélangez des frameworks, vous voulez éviter d'affecter autant que possible les autres frameworks. (4) Non, pas possible j'ai peur. – Blixt
Merci encore une fois pour cette merveilleuse réponse :) – Joe
- 1. Attribution d'un alias à un alias dans Rails
- 2. rechercher des alias DNS
- 3. interface Java « Alias »
- 4. Table alias et datatables
- 5. Alias de vue Seam
- 6. paramètres Alias dans SSIS
- 7. Groupe par alias (Oracle)
- 8. SQL - table alias scope
- 9. Case-Insensitive ZSH Suffixe Alias
- 10. alias résultat de la requête
- 11. Alias VB.NET (comme en C#)
- 12. Animation iPhone: comment l'anti-alias?
- 13. SQL Server 2008 Upgrade/compile - Alias de colonne et alias de table
- 14. xargs ne reconnaît pas des alias bash
- 15. Rails ActiveRecord: automatiquement Alias / Append Suffixe?
- 16. SQL: jointure interne sur la colonne alias
- 17. Ajout d'un alias de codage à python
- 18. alias mot-clé (comme typedef) en C#?
- 19. Recherche d'un alias réseau dans .net
- 20. Utilisation d'un alias dans une clause WHERE
- 21. Comment créer un alias de domaine (mappage)
- 22. Supprimer l'élément tableau par pointeur d'élément (alias)
- 23. Comment obtenir des alias fonctionnant dans .gitconfig?
- 24. Alternative aux images 0px (alias web beacons)
- 25. Quand utilisez-vous un alias de méthode?
- 26. Prise en charge des alias CNAME
- 27. alias de table dans linq edmx
- 28. Alias de table jointe à SQLProjection
- 29. Rejoindre une table deux fois dans une deuxième table avec chaque alias interne joint aux deux alias d'une troisième table
- 30. Configurer Django avec mod_python, Apache sur SuSE avec Alias
@Blixt Veuillez consulter [ma propre réponse] (http: // stackoverflow.com/questions/1045889/javascript-aliases/1046094 # 1046094) à cette question ci-dessous, comme ce que je voudrais vous poser à votre sujet est trop long pour un commentaire. :) Merci! – Joe