時々この問題に遭遇しましたが、何が原因なのかまだわかりません。
ページに次のスクリプトがあります。
$(function(){
var value = "10";
});
しかし、ブラウザーには「ReferenceError: 値が定義されていません」と表示されます。ただし、ブラウザコンソールに移動して次のいずれかを入力すると
10
また
var value = "10";
どちらも 10 を返す可能性があります。私のスクリプトの問題は何ですか?
時々この問題に遭遇しましたが、何が原因なのかまだわかりません。
ページに次のスクリプトがあります。
$(function(){
var value = "10";
});
しかし、ブラウザーには「ReferenceError: 値が定義されていません」と表示されます。ただし、ブラウザコンソールに移動して次のいずれかを入力すると
10
また
var value = "10";
どちらも 10 を返す可能性があります。私のスクリプトの問題は何ですか?
クロージャー内で宣言されているため、そこでのみアクセスできます。グローバルにアクセスできる変数が必要な場合は、以下を削除できますvar
。
$(function(){
value = "10";
});
value; // "10"
これは、書き込みに相当しますwindow.value = "10";
。
次のコードで (関数 init で) エラーが発生しました。
"use strict" ;
var hdr ;
function init(){ // called on load
hdr = document.getElementById("hdr");
}
... Samsung Galaxy Fame でストック ブラウザを使用している場合 (良いテスターになるクズ電話) - userAgent; Mozilla/5.0 (Linux; U; Android 4.1.2; en-gb; GT-S6810P Build/JZO54K) AppleWebKit/534.30 (Gecko のような KHTML) バージョン/4.0 Mobile Safari/534.30
同じコードは、古い HTC フォンのストック ブラウザである userAgent を含めようとした他の場所でも機能します。Mozilla/5.0 (Linux; U; Android 2.3.5; en-gb; HTC_WildfireS_A510e Build/GRJ90) AppleWebKit/533.1 (Gecko のような KHTML) バージョン/4.0 モバイル Safari/533.1
これに対する修正は変更することでした
var hdr ;
に
var hdr = null ;