2017-05-22 17 views
-2

関数内で定義されているローカル変数に基づいてグローバル変数の値を更新しようとしています。ローカル変数の値をJavaScriptのグローバル変数にコピーする

私はここでStackOverflowでウィンドウオブジェクトを使用するように読みましたが、まだ動作していません。 https://jsfiddle.net/t18ofd65/8/

+0

ご質問はありますか? –

+0

'console.log'を' click handler'の中に移動し、 'window.z'をログします。[JSFiddle](https://jsfiddle.net/RajeshDixit/t18ofd65/9/) – Rajesh

+0

@Rajeshそれはわかります。しかし、私は、関数の外側にあるzの更新された値が必要です。 –

答えて

2

あなたは基本的に装着するクリックイベントが何をしているか誤解されている -

<input type="text" id="getCity" placeholder="Enter"></input> 
<button id="btn" type="Submit">Submit</button> 
var z = 0; 
$('#btn').click(function() { 
    window.z = 1 
}); 
console.log(z) 

はここでJSのフィドルです。このコードは、2行目に続くライン

var z = 0;     // Line 1 
$('#btn').click(function() { // Line 2 
    window.z = 1    // Line 3 
}); 
console.log(z)    // Line 5 

1行実行によって順次ラインを実行しません。しかし、ボタンが実際にをクリックするまで、3行目は実行されません。行5は2行目の直後に実行されます。console.log(z)または実際にはconsole.log(window.z)をイベントハンドラ内に追加した場合(つまり、3行目以降)、変数が実際に更新されることがわかります。

関連する問題