2013-08-21 6 views
-1
var Global = { 
    alpha : 1, 
    color : 'rgba(0, 0, 0, '+this.alpha+')' 
} 
console.log(Global.color); 

ce code est quelque chose de mal. Dans ce code, Comment puis-je utiliser var alpha dans Global.color. S'il vous plaît aidez-moi.Javascript comment lier var

Répondre

1

Global.alpha? Global est un nom de variable horrible - dont le global est et js est pinaillé pour la portée globale pour commencer.

this.alpha regarde le contexte actuel (qui ne va pas être Global) et d'accéder C'est alpha.

var Global = { 
    alpha : 1, 
    getColor : function() 
    { 
     return 'rgba(0, 0, 0, ' + this.alpha + ')'; 
    } 
}; 

console.log(Global.getColor()); 
+0

Il est très bien, et à cause du mot-clé 'var' c'est une variable locale. Probablement dans un code lié au canevas. – Bergi

+0

@Bergi Si ce n'était que dans une balise de script, Global ne serait-il pas ajouté à la portée globale? –

+0

Bien sûr, mais ce n'est pas le cas. La portée environnante n'est pas pertinente à la question, elle a donc été omise. – Bergi

0

Je ferais ce qui suit:

var Global = { alpha: 1 }; 
Global.color = 'rgba(0, 0, 0, ' + Global.alpha + ')'; 
console.log(Global.color);