javascript でオブジェクトについて学習するためのテスト html ファイルを作成するだけです。コードは次のとおりです。
スクリプトタグで
<script type="text/javascript">
var obj = new ParentFn();
var obj2 = new AnotherParentFn();
var temp;
function initer()
{
temp = obj.Adding();
obj2.caller();
}
function ParentFn()
{
this.a = 10;
this.b = 20;
}
function AnotherParentFn()
{
this.a = 30;
this.b = 50;
}
AnotherParentFn.prototype.caller = function()
{
var self = this;
temp();
}
ParentFn.prototype.Adding = function()
{
var self = this;
document.getElementById("id_div1").innerHTML = " Method Called and Result of a+b is " + (self.a + self.b);
}
</script>
体内で私が使用する
<button onclick="initer()"> Click here to test </button>
<div id="id_div1"></div>
問題は、AnotherParentFn.prototype.caller が initer() 関数から呼び出された場合、一時変数がまだ定義されていないことです。コードの何が問題になっていますか??
私の仕事は、関数 ParentFn.prototype.Adding をグローバル変数に割り当て、AnotherParentFn.prototype.caller 関数からグローバル変数を呼び出すことです。それを達成する方法は?