-1

私のnodejsアプリケーションでは、window.myfunction = function(){...}方法を使用して2つの異なるjsファイルに存在する関数を通信または呼び出しています。確かに、完璧に機能しています。私もこの質問に答えましたが、それは私がもう少しよく学ぶのに役立ちました.

私の質問/疑問は、windowオブジェクトを使用してユーザー定義関数を呼び出すことはOKですか?
(クライアント側でのパフォーマンス、ブラウザー間の互換性、および明らかなセキュリティに関しては問題ありません。) ありがとうございます。
(私はJavaScriptプログラミングの一種の初心者です)

4

3 に答える 3

0

Javascript プログラミングには、すべてのグローバル変数を保持するルート オブジェクトであるグローバル オブジェクトがあります。グローバル オブジェクトは、使用しているランタイムによって異なります。Node.js についてはわかりませんが、ブラウザで実行されている JavaScript の場合、グローバル オブジェクトは window オブジェクトです。グローバル変数を作成している場合は、window オブジェクトにプロパティを作成しています。

    var def="こんにちは";

def変数またはwindow.defを使用して上記の値にアクセスできます。これは関数でも機能します。

    関数 myFunc(){
       console.log("こんにちは");
    }

したがって、window オブジェクトが表示された場合、この関数を保持する myFunc プロパティが作成されていることがわかります。この関数は myFunc(); を使用して実行できます。直接または window.myFunc(); を使用

グローバル変数は混乱を引き起こします。私はグローバル変数をあまり支持していません。IIFE を使用してみてください。以下のリンクに従ってください。

http://jkoder.com/avoid-polluting-global-namespace-in-javascript-iifeimmediately-invoked-function-expression/

于 2016-08-14T15:40:46.470 に答える