Javascript:调用函数的实例

时间:2016-07-21 12:21:35

标签: javascript function

我正在做一些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);

2 个答案:

答案 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闭包,因此我尝试为匿名函数返回,但这并没有改变任何东西,我可以看到。

[测试代码] http://i.stack.imgur.com/FtwnD.png