2017-10-30 5 views
0

Ich bin fest mit dem Versuch zu versuchen, die "hunderfunction()" als 100% in der "gameCanvas" Variable, wo es heißt "this.canvas.width = hundert;"Versuchen, eine globale Variable von einer Funktion zu deklarieren

ich wissen muss, wie die Ausgabe von erklären „hundredFunction()“ als globale Variable so, dass meine „Gamecanvas“ Variable nicht „undefined“

erklärt

Ich hoffe, dass ich mich richtig erklärt. Vielen Dank im Voraus für jede Hilfe.

(Anmerkung:. Ich habe nicht die jQuery-Version dieser wissen müssen)

// this loads the function tagged on the <body> 
function startGame() { 
    gameCanvas.start(); 
} 

// this will allow us to 100% width and height of canvas 
function hundredFunction() { 
    var n = "100"; 
    var p = "%"; 
    var wh = n.concat(p); 
    var hundred = wh; 
} 

var test = hundredFunction(); 
console.log(test); 

// this will declare the variables to create the canvas on the <body> 
var gameCanvas = { 
    canvas : document.createElement("canvas"), 
    start : function() { 
     this.canvas.width = hundred; 
     this.canvas.height = hundred; 
     this.context = this.canvas.getContext("2d"); 
     document.body.insertBefore(this.canvas, document.body.childNodes[0]);   
    } 
} 
+0

können Sie die Funktion aufrufen, wie zB 'canvas.width = hunderfunction()' oder 'test'-Variable verwenden, wie Sie bereits haben und natürlich die Variable 'hunderter' von der Funktion –

Antwort

2

Sie 100% von Ihrem hundredFunction zurückkehren sollte und verwenden diese var zurückgegeben:

function startGame() { 
    gameCanvas.start(); 
} 

function hundredFunction() { 
    var n = "100"; 
    var p = "%"; 
    var wh = n.concat(p); 
    return wh; // < Return your value 
} 

var hundred = hundredFunction(); // < Store it in a variable 
console.log(hundred); 

var gameCanvas = { 
    canvas : document.createElement("canvas"), 
    start : function() { 
     this.canvas.width = hundred; // < Use it to your heart's content 
     this.canvas.height = hundred; 
     this.context = this.canvas.getContext("2d"); 
     document.body.insertBefore(this.canvas, document.body.childNodes[0]);   
    } 
} 

Auch Sie nicht die concat() Funktion benötigen, um zu erreichen, wonach Sie suchen:

+0

zurückgeben Danke :). Ich habe es zur Arbeit gebracht. Sehr geschätzt. Ich werde es als eine Antwort markieren, wenn es mir erlaubt. Wenn es Ihnen nichts ausmacht, fragen Sie mich, wie ist das Format, die Etikette und die allgemeine Art, wie dieser kurze Code Ihrer Meinung nach geschrieben wird? – Publifiedlabs

+1

Ich verstehe nicht wirklich, warum Sie eine Funktion aufrufen, um '100%' zu schreiben, Sie könnten es direkt hier aufschreiben: 'this.canvas.height = '100%';'. – Zenoo

+0

lol, du hast Recht. Ich habe es gerade versucht und es funktioniert. Danke für Ihre Hilfe. Ich lerne noch. – Publifiedlabs

Verwandte Themen