[JavaScript] varによる変数定義は右辺実行より先
2012年2月3日
何のこと?
var で変数宣言すると右側から参照できるということで
つまりはこーゆーことです
      つまりはこーゆーことです
window.iExisted = ('iExisted' in window); //-> window.iExisted は false
var iExisted = ('iExisted' in window); //-> iExisted は true
var isU = ('isU' in window && window.isU === undefined); //-> isU は true
だから、良く見かける以下のコードが有効なんすね
var timerId = setInterval(function(){
    clearInterval(timerId);
}, 1000);
これで気づきました
var MyClass = (function(){
    // 自分が既に読み込まれていたらアラートする意図
    // これは毎回アラートされちゃうダメな例
    if ('MyClass' in window) {
        alert('MyClass is already defined');
        return;
    }
    var cls = function(){};
    // ... some processing ...
    retrun cls;
    // returnで返すのはやめて↓の方が良い
    //window['MyClass'] = cls;
})();
という、イマサラ話