我正在做一些js/html5-canvas
,其中js
函数基于html5-canvas和一些全局变量来表示符号的动画/绘图。后者是从外部js
写的。
如果我直接使用变量调用父函数,但是当我使用" var x = new myFunction(args,..,..,..)
"实例化时,我的函数有效。然后调用" x",它没有完全得到论据。
我对javascript很新,所以我猜这可能是相当简单的,我做错了,我希望你们可以提供帮助。
// JavaScript Document// JavaScript Document
// Global Vars
var alrum_lysniveau = 0;
var alrum_setlysniveau = 0;
var alrum_gbLys;
var alrum_on = false;
var alrum_off = false;
// Init function
function init() {
function dimSymbol(idCanvas, idBtnOn, idBtnOff, idSliderDiv, idSliderRange, lysniveau, rum, lys) {
// Code for dimSymbol, not included here.
};
var alrumDim = new dimSymbol("canvasAlrum", "butOnAlrum", "butOffAlrum", "sliderAlrum", "sliderRange", alrum_lysniveau, "Alrum", alrum_gbLys);
alrumDim;
}
// Load af function LivingRoom, når siden er indlæst
window.addEventListener('load', init, false);
答案 0 :(得分:0)
如果您尝试使用随时随地使用相同参数调用dimSymbol
函数的变量,可以将调用dimSymbol
置于新函数内部它存储在一个变量中。
var alrumDim = function() {
return dimSymbol("canvasAlrum", "butOnAlrum", "butOffAlrum", "sliderAlrum", "sliderRange", alrum_lysniveau, "Alrum", alrum_gbLys);
};
alrumDim();
答案 1 :(得分:0)
我在这里发布回复,因为我无法链接Quentin评论轨道中的图片。
我试过做一个例子。代码是这样的:
function testFunc(x, y) {
var elem = document.getElementById(x);
elem.innerHTML = "Test message " + y;
}
testFunc("testdisplay", alrum_lysniveau);
如图所示,进入testFunc调用时变量alrum_lysniveau的值为56,但写入html的数据输出为0。
我尝试查看来自Quentin的链接帖子,关于js闭包,因此我尝试为匿名函数返回,但这并没有改变任何东西,我可以看到。