2011-12-08 28 views
0

変数の関数function farm()に配置されている変数を呼び出したいとします。var cow;とします。他の関数でローカル変数を呼び出します。Javascript

<script type="text/javascript"> 
var cow 
function farm() { 

cow = Math.Random; 

} 

function milk(){ 

// call/return value of cow 

} 
</script> 

このリンクをチェックアウト:GLOBAL VARIABLES IN JAVASCRIPT by Snook
最後のコードを注意深く見て、それをテストすれば、実際には動作しませんが、私は動作するようなものが欲しいです。あなたは...以下のグローバルスコープで

var myValue; 
function setValue() 
{ 
    myValue = "test"; 
} 

function getValue() 
{ 
    alert(window.myValue); // yup, it's "test" (original) ---> (after testing) No its "undefined" 
} 
+1

? – SLaks

+0

あなたのテストはうまくいくのですか?あなたが変数の存在と価値をテストするなら、あなたは何を得ますか?何か?問題があるかどうかは、メッセージに基づいて確認できません。このようなことをやらなければならない場合は、関数の外部でGLOBAL変数を宣言します。そのようにするには、次のようにします。var myValue;私は単に他の関数でmyValueを参照し続けます。それは動作しますが(推奨されません)。 –

+0

@ShawnSpencer:私は未定義になっています...何度も試しましたが、まだ "未定義"です。 –

答えて

2

あなたはグローバルスコープで牛を宣言することができます。ここ

var cow; 

function farm() { 

    cow = Math.random(); 

} 

function milk(){ 

    // call/return value of cow 

} 

が作業フィドル http://jsfiddle.net/IrvinDominin/FTt5D/です。注意を払うrandomはメソッドで、小括弧()を使用して小文字で書く必要があります。

+0

あなたは私が欠けていたものを理解しました... :)おかげで多く –

+0

あなたを助けるために喜んで:-) –

+0

私の答えを盗んでいただきありがとうございます:) –

0

宣言cowコードを確認することができます。

var cow; 

function farm() { 
    cow = Math.Random; 
} 

function milk() { 
    // call/return value of cow 
} 

をしかし、私は今、これがあなたの第二の例とどのように異なるかを確信しています。あなたの質問を明確にすることができますか?あなたの例と同様に

+0

Nope。やったことは...既に働いていない...私は何かを逃していますか? –

+1

あなたはおそらくより多くのコードを持っています。投稿できますか?このコードはうまく動作します:http://jsfiddle.net/kLgwU/4/ – Blender

+0

2番目の例では、snookのサイトで述べたように、ここでは 'window.somevariable'が使用されています...グローバル変数を取得します...しかし、それは私のために働いていません –

2

cowは囲み範囲(この場合はグローバル)に合わせてhoistedになるので、実際に使用するものは実際に動作します。関数は、実際にはないRandom()random()あるので、それが動作しない可能性がありますし、それが機能しませ変数だ - これを試してください:あなたが何を求めている

function farm() { 
    cow = Math.random(); 
} 

function milk(){ 
    // call/return value of cow 
    alert(cow); 
} 

farm(); //Init cow 
milk(); //call milk 
関連する問題