JavaScriptで親画面のオブジェクトの関数を実行する方法

親画面で定義したオブジェクトの関数を実行したい時にオブジェクトの初期化を下記のように記載すると、関数を実行できませんでした。

let Obj;
Obj = Obj || {};

Obj.func = function (a) {};
Obj.func(a); // 子画面

しかし、下記のようにオブジェクトの初期化を行おうとすると、「Uncaught ReferenceError: Cannot access ‘xxx’ before initialization」とエラーができます。

let Obj = Obj || {};
const Obj = Obj || {};

varで宣言することで、下記のように記載できます。

var Obj = Obj || {};

これで親画面のオブジェクトの関数を実行できるようになりました。

目次