(对不起我的英文= /) 我在'onload'时创建了一个数组。
(在此:
var $ = {
ratio: 0.7,
screen: 500,
margin: 10,
canvas: document.getElementById("canvas"),
ctx: document.getElementById("canvas").getContext("2d"),
}
并且$.canvas
和$.ctx
被赋予'null'。
这项工作,如果我重写它
...
canvas: function(){return document.getElementById("canvas")}
...
但如果我想调用此变量,则变量看起来像$ .canvas () 如何在没有'()'???
的情况下制作这个变量答案 0 :(得分:2)
试试这个:
window.onload = function(){
window.$ = {
ratio: 0.7,
screen: 500,
margin: 10,
canvas: document.getElementById("canvas"),
ctx: document.getElementById("canvas").getContext("2d"),
}
}
答案 1 :(得分:1)
看起来这是$
变量范围的问题。通过在var
函数内使用window.onload
关键字声明它,其范围是本地函数,而不是全局范围。
您可以在onload函数之外定义它:
var $; // in the global scope
window.onload = function(){
$ = {
ratio: 0.7,
screen: 500,
margin: 10,
canvas: document.getElementById("canvas"),
ctx: document.getElementById("canvas").getContext("2d")
};
console.log($.canvas);
console.log($.ctx);
};
通过在全局范围内声明它,可以从onload函数外部访问它。