Partage
  • Partager sur Facebook
  • Partager sur Twitter

Isoler un bout de code

anti-prototype

Sujet résolu
    24 novembre 2011 à 10:11:46

    Bonjour à tous,

    Je voudrais savoir s'il existe un moyen d'isoler un bout de code du reste, svp (par rapport au prototypage).

    Le but étant de faire en sorte qu'une modification d'un prototype d'une classe n'affecte que la partie isolée ou uniquement ce qui est en-dehors de cette partie isolée.

    Merci d'avance. :)
    • Partager sur Facebook
    • Partager sur Twitter
      24 novembre 2011 à 19:12:14

      Tu as essayé de mettre le prototypage dans une fonction avec le code associé ?
      • Partager sur Facebook
      • Partager sur Twitter

      Je vous ai aidé ? Appuyez sur le bouton "Ce message est utile", avec le pouce levé vers le haut !  (en bas à gauche de mon message)

        24 novembre 2011 à 20:58:05

        Oui, c'est la première chose que j'ai essayée... et ça ne fonctionne pas...
        • Partager sur Facebook
        • Partager sur Twitter
          26 novembre 2011 à 11:59:19

          Tu pourrais réexpliquer ton problème plus clairement ? Je comprends pas du tout ce que tu cherches à faire.

          Donne des exemples, et tout.
          • Partager sur Facebook
          • Partager sur Twitter
            26 novembre 2011 à 12:38:55

            Le truc que je cherche à faire est semblable à ceci...
            (function(){
            	var test=1;
            })();
            console.log(test);// retourne une erreur
            


            ... mais pour prototype

            (function(){
            	Array.prototype.list=function(){
            		//nawak
            	};
            })();
            console.log([].list);// retournerait une erreur
            
            • Partager sur Facebook
            • Partager sur Twitter
              26 novembre 2011 à 12:43:48

              Ah. Bah tu peux pas le faire ainsi en tous cas.

              Mais tu peux faire un truc du genre :

              (function(){
              	Array.prototype.list=function(){
              		//nawak
              	};
              	
              	
              	delete Array.prototype.list;
              })();
              console.log([].list);// undefined
              


              C'est mieux que rien.
              • Partager sur Facebook
              • Partager sur Twitter
                26 novembre 2011 à 13:05:39

                Ben, en fait, disons que le but, c'est surtout de préserver ce qu'il y a à l'intérieur, que je cherchait cela... pour protéger du code de scripts importés (en DSL, par exemple)
                • Partager sur Facebook
                • Partager sur Twitter
                  26 novembre 2011 à 13:21:45

                  Du code qui modifie les prototypes natifs, ça se protège pas.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    26 novembre 2011 à 17:58:27

                    C'est quand même stupéfiant, que ça n'ait été pensé, vu que le javascript a justement cette particularité (de pouvoir importer d'autres scripts) :waw:
                    • Partager sur Facebook
                    • Partager sur Twitter
                      26 novembre 2011 à 18:36:50

                      Proteger des objets, ca se fait en ES 5 avec Object.preventExtensions etc.
                      Mais c'est pas compatible avec les anciens navigateurs.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        26 novembre 2011 à 18:52:11

                        Ben, justement, j'essayais de "simuler" cela, pour les vieux navigateurs... donc, ben, c'est rapé... :(

                        Merci quand même à vous :)
                        • Partager sur Facebook
                        • Partager sur Twitter
                          26 novembre 2011 à 19:46:39

                          Nan sous les vieux navigateurs, tu peux pas.
                          Si tu veux vraiment de la securite, il faut utiliser caja ou adsafe.
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Isoler un bout de code

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown