以下のコードでは、グローバル変数「myDiv」に jQuery 要素を割り当てています。しかし、「test()」関数内では、myDiv 変数が宣言されているようですが、定義されていないようです。何かを行う前に、もう一度 $('myDiv') を再割り当てする必要があります。
ただし、偽の変数 xyz には問題なく到達できるようです...
<!DOCTYPE html>
<htm>
<head>
<title>Javascript Test Code</title>
<script src="js/jquery-1.9.0.min.js"></script>
<script>
var App = App || (function () {
var myDiv = $('#myDiv'), // define a global jQuery element variable.
xyz = 'xyz'; // and a bogus variable as a test.
function test()
{
console.log('running test...','myDiv is', myDiv); // length is 0
console.log('xyz is ', xyz); // says xyz
myDiv = $('#myDiv'); // after selecting with jQuery...
console.log('running test...','myDiv is', myDiv); //length is 1
console.log('xyz is ', xyz); // still says xyz
}
return {test:test}
}());
$(function(){
App.test();
});
</script>
</head>
<body>
<div id="myDiv"></div>
</body>
</html>