基本的に、グローバル変数が javascript/JQuery 環境でどのように機能するかを知りたいです。私が最もよく知っているのは、Java ベースであると言われているプロセッシングと呼ばれる言語です。javascript と JQuery の変数が処理中の変数のように動作することを期待していましたが、期待どおりに機能せず、一生頭を悩ませることはできません。
私の混乱を説明するために、非常に簡単な例を作成しました。
var what="";
$(document).ready(function(){
$("p").click(function () {
what="p";
});
if(what=="p"){
alert(what);
}//end if
});//end doc ready
'what' 変数はグローバルであり、段落をクリックして変更されるため、if ステートメントは 'what'=='p' かどうかを継続的にチェックし、アラートをトリガーする必要があるため、処理中にこれが機能します。しかし、それは起こりません-「what」は、グローバル変数であっても、クリック関数内でのみ更新されるように見えるため、ifステートメントになると、「what」は「p」ではなく「」に等しくなります.
誰かがなぜこれが起こるのか説明できれば、私はとても感謝しています!