2011-12-02 19 views
12

1つのjavascriptファイルに格納された変数を別のものから呼び出す方法はありますか?1つのjavascriptファイルから別のjavascriptファイルへの変数の呼び出し

ではなく

var VAR = new Object; 
VAR.myvalue = "Yeah!"; 

オプトための、私は

alert(VAR.myvalue); 
+1

...あなたは* *これを試してたのですか? –

+0

はい、動作しませんでした。 –

+0

sample.jsの前にvar.jsを含めましたか?そして、おそらく 'alert 'をどこかに置いて呼び出されるのだろうか? – Kevin

答えて

11

まずここ

sample.jsをVAR.myvalueを使用したい、その後

var VAR = new Object; 
VAR.myvalue = "Yeah!"; 

をvar.js

var VAR = { 
    myvalue: "Yeah!" 
}; 

しかし、あまりにも長い間var.jsが sample.js前に、まずを参照されているとして、あなたが持っているもの正常に動作する必要があります。

var.jsは宣言し、VARを初期化し、sample.js

+0

ええ、数回試してみましたが、まだ動作しませんでした。 –

+0

@RobinCarloCatacutan - うまくいくはずです。もっとコードを投稿してください –

+0

私は今のところサンプルを作成しました。しかし私の場合、私はこれをウィジェットに適用しているので、そうしませんでした。たぶん私のコードに問題があります。 :)しかし、ありがとう。 –

2

で宣言されたスクリプトから読み込まれるだろう1つのHTMLファイル内のJavaScriptファイル、VAR.myvalueが有効になるようにvar.jssample.jsを置き両方含める:

<script type="text/javascript" src="var.js"></script> 
<script type="text/javascript" src="sample.js"></script> 
2

module patternを使用してスコープを区切ります。これは将来の頭痛を取り除くでしょう。

は、その後、あなたがどこからでも、そのオブジェクトのメソッドとプロパティを使用することができます

var someVar = (function() { 
    var total = 10; // Local scope, protected from global namespace 

    return { 
    add: function(num){ 
     total += num; 
    } 
    , sub: function(num){ 
     total -= num; 
    } 
    , total: function(){ 
     return total; 
    } 
    }; 
}()); 

をvar.js。

sample.js

someVar.add(5); 
someVar.sub(6); 
alert(someVar.total()); 
+0

ねえ、これは私のウィジェットの作品です。私はちょうど私の値を他のjavascriptに保存してそれを呼びたいので、これをより簡単にできますか?私は上記のとおりです。事前に感謝:) –

+0

LOL、ポイントは、Javascript OOPについて 'あなたに何かを学ぶ'ことでした。上記のAdam Rackisの答えはメソッドなしで同じですが、オブジェクトのプロパティだけですが、本質的に同じように動作します。 –

+0

@Pastor Bones - あなたは実際にその質問に答えなかった:あなたが言及しなかった重要なポイントは、 "var.js"が "sample.js"より前に含まれなければならないということです。 (また、私はモジュールパターンが有用かもしれないことに同意しますが、実際にはメソッドが必要な場合のみです。単純なオブジェクトリテラルがいくつかのデータプロパティを必要とするだけです。) – nnnnnn