JavaScriptで関数ポインタを比較する方法はありますか? 基本的に、同じ関数を配列に複数回追加したかどうかを確認し、一度だけ追加したいのです。ええ、私はそれを回避するようにプログラムできますが、この方法で行う方がはるかに簡単です.
以下のコードは配列を使用していませんが、私がしようとしていることを示しています。myPointer が別の関数である場合にのみ oldPointer を設定したいと思います。
コード例を次に示します。
function test()
{
}
test.prototype.Loaded = function()
{
this.loaded = true;
}
test.prototype.Add = function(myPointer)
{
if (this.oldPointer != myPointer) //never the same
{
this.oldPointer = myPointer;
}
}
test.prototype.run = function()
{
this.Add(this.Loaded.bind(this));
this.Add(this.Loaded.bind(this)); //this.oldPointer shouldn't be reassigned, but it is
}
var mytest = new test();
test.run();