在哪里初始化将被 JavaScript 中的许多函数访问的全局变量

发布于 2024-11-01 02:51:08 字数 538 浏览 4 评论 0原文

我对 JavaScript 很陌生。我想开发一个在黑莓上运行的画布动画。为此我想使用 HTML5 和 JavaScript。我想创建以下函数:

  • function drawCircle()。圆的中心将是画布的中心(画布的大小将是窗口的大小),半径将由用户输入。到目前为止,我应该在哪里声明画布才能指定圆心?

  • function draw() 将所有绘制形状的函数。然后会在init函数中调用。

  • 函数init()。这将以一组间隔绘制形状。

我应该在哪里声明这些?:

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

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:

  • function 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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

路弥 2024-11-08 02:51:08

在全局范围内(即不在函数或类中)定义的任何 JavaScript 变量都可以从代码的其余部分访问。

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

或者(这被认为是不好的做法)在全局作用域之外声明一个不带 var 修饰符的变量,将其放入全局作用域中:

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

test();
console.log(testVariable);

edit:

正如评论正确指出的那样出去:

全局变量和函数是
很少需要。使用全局变量可能
导致之间的命名冲突
javascript源文件和原因代码
打破。由于这个原因,它是一个
封装的好习惯
单个全局中的功能
命名空间...最简单的方法是创建一个
单个全局对象并分配
该对象的属性和方法。

创建命名空间:

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

以下是什么是命名空间的描述。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文