js
関数は、html5キャンバスといくつかのグローバル変数に基づいて、シンボルのアニメーション/描画を実行するものです。js/html5-canvas
を実行しています。後者は外部js
から書かれています。Javascript:関数のインスタンスを呼び出す
変数が直接親関数を呼び出すと、私の関数は動作しますが、 "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);
は、*と*「x」を呼び出す - なぜあなたはコンストラクタ関数で作成されたオブジェクトを呼び出すでしょうか?通常は、メソッドを呼び出します。 'x'は何も呼び出さない。関数を呼び出すには、引数の後ろに '()'を入れなければなりません。引数がない場合に '()'がオプションになるときに 'new'を使うときを除いて、ここでは 'new alrumDim'とは言わないからです)。 – Quentin
こんにちはクエンティン、コメントありがとう。なぜ答えているのではなく、私がここでやろうとしていることを熟考してください。 私はこの機能「dimSymbol」を持っています。約70行のコードが含まれています。私は同じページで複数回同じ関数を実行したいが、異なる引数を使用して、毎回同じ70行のコードをコピーする必要はありません。 alrumDimはそのようなインスタンスであると想定され、 "alrumDim;"それを実行することです。 – MCSN
"alrumDimはそのようなインスタンスであるはずです" - したがって関数ではありません。 'dimSymbol'を複数回呼び出す場合は、' dimSymbol'を複数回呼び出してください。 – Quentin