私は次のコードを持っていて、最後の行をどのように動作させるのかと思っています。私は、現在のuse _viewを名前空間の規則として追加し、むしろarc.view。$ function_nameのようなものを使用するというapiのセットをaddoptedしました。 THXjavascriptウィンドウオブジェクトの関数を呼び出す
6
A
答えて
10
window['arc']['view']['say_hello']();
または
window.arc.view.say_hello()
または
window['arc'].view['say_hello']()
ドット構文またはブラケット構文のどちらかが動作します。ドットシンタクスは、実際にはブラケットベースのプロパティルックアップの文法的な砂糖なので、上記のコードスニペットはすべて同じです。プロパティ名自体が動的な値である場合、またはドット構文でプロパティ名を使用すると構文エラーが発生する場合は、ブラケット構文を使用します。例えば:あなたが実際にウィンドウ内の関数を実行するための求めている角括弧表記法を使用して
window["arc"]["view"]["say_hello"]();
3
このをお試しくださいarc.view.say_hello
と呼ばれ、オブジェクトview
(これはオブジェクトarc
のプロパティ)の関数ではありません。より明示的にするには:
window["arc.view.say_hello"] = function() { alert("hi") };
window["arc.view.say_hello"](); // "hi"
説明したように関数を呼び出すには、オブジェクトチェーンを「解決」する必要があります。そのためのユーティリティ関数を作成することができます。ような何か:
var arc={};
arc.view={
say_hello: function(){
alert("I want to say hello");
}
}
function say_goodbye(){
alert("goodbye to you");
}
function call(id) {
var objects = id.split(".");
var obj = this;
for (var i = 0, len = objects.length; i < len && obj; i++)
obj = obj[objects[i]];
if (typeof obj === "function")
obj();
}
call("say_goodbye");
call("arc.view.say_hello");
ます。またarguments
を使用するために、ユーティリティ機能を拡張することができ(またはあなただけの関数への参照を返すことができます)。
2
:
var dynamicMethodName = someObject.getMethodName();
someOtherObject[dynamicMethodName]();
または
someOtherObject["a key string with spaces and {special characters}"]();
関連する問題
- 1. PerlのJavascript関数を呼び出す
- 2. JSRenderのjavascript関数を呼び出す
- 3. Rails3でjavascript関数を呼び出す
- 4. iframeでjavascript関数を呼び出す
- 5. hrefでjavascript関数を呼び出す
- 6. flashオブジェクト:javascript関数を呼び出す
- 7. Actionscript 3 javascript関数を呼び出す
- 8. HTMLUnitでJavaScript関数を呼び出す
- 9. 呼び出すサーブレットjavascript関数は、セッション
- 10. javascript関数呼び出しの問題
- 11. javascript関数の呼び出し方法
- 12. 呼び出された関数から(元の関数で)javascript関数を呼び出していますか?
- 13. 関数呼び出しはjavascriptで
- 14. Javascriptライブラリd3呼び出し関数
- 15. 自己呼び出し関数javascript
- 16. 目的関数CでJavaScript関数を呼び出す方法
- 17. Javascript関数を使用したjQuery関数の呼び出し
- 18. innerHTMLで呼び出されるJavascript関数でこれを呼び出す
- 19. GWT - 別のJavaScript関数内でJavaScript関数を呼び出す方法
- 20. 関数を呼び出す
- 21. 関数名からのJavascript呼び出し関数
- 22. data.tableを呼び出す関数を呼び出す関数の記述方法?
- 23. 他の関数でローカル変数を呼び出します。Javascript
- 24. コードラインのトレース/ JavaScriptからの関数呼び出しの呼び出し
- 25. 関数呼び出しから関数呼び出し名を抽出する
- 26. asp.netでjavascript関数を呼び出すことに関して
- 27. Javascript関数の呼び出しに関する質問
- 28. 名前が変数にあるjavascript関数を呼び出す
- 29. Javascript関数からAppSettingsでグローバル変数を呼び出す
- 30. ビューの呼び出し後に関数を呼び出す
あなたのおかげで私は苦労して一日も終わりました...ありがとう+1 –
@vikasdevde :)親指アップ... +1 – agpt