开发者

Where to initialize the global variable that will be accessed by many functions in JavaScript

I am very new in JavaScript. I want to develop a canvas animation to run on Blackberry. For that I would like to use HTML5 and JavaScript. I want to create the following functions:

  • funct开发者_开发百科ion drawCircle(). The center of the circle will be the center of the canvas (the size of the canvas will be the size of the window), the radius will be enter by the user. Up to here, where should I declare the canvas in order to assign the center of the circle?

  • function draw() which will all functions which draw shapes. Then will be called in the init function.

  • function init(). Which will draw the shapes at a set of interval.

Where should I declare these?:

  • var canvas = document.getElementById()
  • var context = canvas.getContext()
  • canvas.width = windows.innerWidh


Any javascript variable defined in the global scope (i.e. not in a function or class) is accessible from the rest of the code.

var testVariable = "test";
function test() {
    console.log(testVariable);        
}
test();

Alternatively (and it's frowned upon as bad practice) declaring a variable without the var modifier from outside the global scope puts it in the global scope:

function test() {
    testVariable = "test";
}

test();
console.log(testVariable);

edit:

As the comment rightly points out:

Global variables and functions are rarely required. Using globals may cause naming conflicts between javascript source files and cause code to break. For this reason, it is a good practice to encapsulate functionality within a single global namespace...The simplest approach is to create a single global object and assign properties and methods to this object.

Creating A Namespace:

var MyLib = {}; // global Object cointainer
MyLib.value = 1;
MyLib.increment = function() { MyLib.value++; }
MyLib.show = function() { alert(MyLib.value); }

MyLib.value=6;
MyLib.increment();
MyLib.show(); // alerts 7

Here's a description of what a namespace is.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜