-5

2 つのスクリプトがあり、script2 で script1 関数を使用する必要があります。それを行う最善の方法は何ですか?プロトタイプを使用してより多くのスクリプトで関数にアクセスする単純化はありますか? 私はjqueryを使用しています。

スクリプト1

$(function(){
 function  process(){
// some code
}
})

スクリプト2

$(function(){

// I would like to use the process function here

}
4

4 に答える 4

1

JavaScript 関数を変数として使用できます。したがって、変数に関する同じことについての質問を読み直してください-変数にアクセスできません

そうするだけで、関数がグローバルスコープから利用できるようになります。

于 2012-08-21T06:18:30.477 に答える
1

サンプル.html

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    </HEAD>
    <script type="text/javascript" charset="utf-8" src="Script1.js" ></script>
    <script type="text/javascript" charset="utf-8" src="Script2.js" ></script>
    <script>
    </script>
    <BODY onload='calling();'>
    </BODY>
    </HTML>

Scrip1.jc

function call(){
    alert("Hi i am called from script2");
}

Scrip2.js

function calling(){
    call();
}

これがお役に立てば幸いです。

于 2012-08-21T06:22:28.570 に答える
1

関数宣言を ready イベント ハンドラーの外に移動するだけで、グローバルに使用できるようになります。

于 2012-08-21T06:26:13.007 に答える
0

別のアイデア: オブジェクトの使用:

var Ob = {
   process: function(callback) {
     callback();
   }
}

スクリプト1

$(function(){
 Ob.process(function(){
      ... // code
   });
});

スクリプト 2 (同じことを行う)

$(function(){
 Ob.process(function(){
      ... //another code
   });
});

process同じ関数を使用している場合(同じ本文コンテンツを意味し、両方のスクリプトで同じことを行う)、

var Ob = {
   process: function() {
     ...//put code
   }
}

スクリプト1

$(function(){
 Ob.process();
});

スクリプト 2 (同じことを行う)

$(function(){
 Ob.process();
});
于 2012-08-21T06:24:19.423 に答える