クローズドタイマーWINDOW

3060 ワード

テーマ1:次のコード出力はいくらですか?コードを修正してfnArriにiを出力させます.2つ以上の方法を使う
    var fnArr = [];
    for (var i = 0; i < 10; i ++) {
        fnArr[i] =  function(){
            return i;
        };
    }
    console.log( fnArr[3]() );  //  10,     i  10,              10
 var fnArr = [];
    for (var i = 0; i < 10; i ++) {
   ( function(){
    var n=i;
    fnArr[i] =  function(){
            return n;
        };
})()        

    }
    console.log( fnArr[3]() );  //      
  var fnArr = [];
    for (var i = 0; i < 10; i ++) {
        fnArr[i] =( function(){
          var n=i;
          return  function(){
              return n;
           }
       }) ();
    }
    console.log( fnArr[3]() );//  

タイトル2:自動車の対象物をパッケージ化し、以下の方法で自動車の状態を取得することができる
var Car = (function(){
   var speed = 0;
   function setSpeed(s){
       speed = s;
   }
   function getSpeed(){
      return speed;
  }
   function accelerate(){
        speed += 10;
    }
    function decelerate(){
        speed -= 10;
    }
    function getStatus(){
        //speed > 0 ? console.log('running'):console.log('stop');
        console.log(speed > 0 ? 'running' : 'stop');
    }
    return {
        'setSpeed' : setSpeed,
        'getSpeed' : getSpeed,
        'accelerate' : accelerate,
        'decelerate' : decelerate,
        'getStatus' : getStatus
   }
})()
Car.setSpeed(30);
Car.getSpeed(); //30
Car.accelerate();
Car.getSpeed(); //40;
Car.decelerate();
Car.decelerate();
Car.getSpeed(); //20
Car.getStatus(); // 'running';
Car.decelerate(); 
Car.decelerate();
Car.getStatus();  //'stop';
//Car.speed;  //error

テーマ3:次のコード出力結果は?どうして?
var a = 1;
setTimeout(function(){
    a = 2;
    console.log(a);
}, 0);
var a ;
console.log(a);
a = 3;
console.log(a);//1,3,2

题目4:次のコード出力结果は?どうして?
var flag = true;
setTimeout(function(){
    flag = false;
},0)
while(flag){}
console.log(flag);//setTimeout        ,  flag   true,    。

テーマ5:次のコードは出力しますか?delayer: 0, delayer:1...の出力方法(閉パッケージを使用して実現)
for(var i=0;i<5;i++){
var clickNode = (function(){
  var n=i;   
 return setTimeout(function(){
         console.log('delayer:' + n);
    }, 0);
    })();
}

テーマ6:どのように要素の真実の幅の主流のブラウザを取得してwindowを通じます.getComputedStyleは実際の幅を取得し、低バージョンIEはelementを通過する.CurrentStyleは、実際の幅を取得します.
タイトル7:URLはどのようにコードして復号しますか?どうしてコードするの?JAvaScriptは4つのURLの符号化/復号方法を提供します.decodeURL()、decodeURLCompoonent()、encodeURL()、encodeURLComponent()は、Urlにとって符号化されるのは、Urlの中には曖昧な文字があるからです.
テーマ8:以下の関数を補完し、ユーザーのブラウザタイプを判断する
function isAndroid(){
    return /Android/.test(navigator.userAgent);
}
funcnction isIphone(){
    return /iPhone/.test(navigator.userAgent);
}
function isIpad(){
    return /iPad/.test(navigator.userAgent);
}
function isIOS(){
    return /(iPad)|(iPhone)/i.test(navigator.userAgent);
}