クローズドタイマーBOM
4139 ワード
テーマ1:次のコード出力はいくらですか?コードを修正してfnArr[i]()にiを出力させる.2つ以上の方法を使う
タイトル2:自動車の対象物をパッケージ化し、以下の方法で自動車の状態を取得することができる
テーマ3:次のコード出力結果は?どうして?
打出結果は1 3 2が1先、そしてaが3 settimeout関数として付与され、JSの他のコードの実行が完了した後に実行される
题目4:次のコード出力结果は?どうして?
テーマ5:次のコードは出力しますか?delayer:0,delayer:1...(閉パッケージで実装)を出力する方法
テーマ6:どのように要素の真実の幅の高さを獲得します
Windows.getComputedStyle style属性内の値は非常に機械的で、読み込まれたのは要素のインラインstyle属性の値であり、私たちが計算した実際の値ではないので、一般的にはgetComputedStyleは現在の要素のすべての最終的に使用されるCSS属性値を取得することができます.CSSスタイル宣言オブジェクトを返します([object CSSStyleDeplaration])(この関数の名前を見ると問題が解決したことがわかります)
var logo=document.querySelector('#result_logo')aa=window.getComputedStyle(logo)aa.height aa.width低バージョンIEはelement.currentStyle()
タイトル7:URLはどのようにコードして復号しますか?どうしてコードするの?
Urlには英字(a-zA-Z)、数字(0-9)、-.~のみが許可されています.4つの特殊文字とすべての保持文字.これは、URLに漢字やギリシャ文字などの他の文字があれば、符号化して使用しなければならないことを意味します.異なるオペレーティングシステム、異なるブラウザ、異なるWeb文字セットは、完全に異なる符号化結果をもたらします.Javascriptを使用してURLをエンコードしてからサーバに送信する場合は、ブラウザに手を出す機会を与えないでください.Javascriptの出力は常に一致するため,サーバが得たデータがフォーマット統一されていることが保証される.JavaScriptが提供する4つのURLの符号化/復号方法decodeURI()decodeURIComponent()encodeURI()encodeURIComponent()違い encodeURIメソッドは、次の文字に対してASCIIアルファベット数字を符号化しません~!@#$&*()=:/,;?+' encodeURIComponentメソッドは、次の文字に対してASCIIアルファベット数字を符号化しません~!*()'従ってencodeURIComponentはencodeURI符号化の範囲よりも広い.実際の例では、encodeURIComponentはhttp://tをhttp%3 A%2 F%2 Fに符号化しますが、encodeURIはしません.URL全体をエンコードし、このURLを使用する必要がある場合は、encodeURIを使用します.URLのパラメータをエンコードする必要がある場合は、encodeURIComponentが最善の方法です.
テーマ8:以下の関数を補完し、ユーザーのブラウザタイプを判断する
var fnArr = [];
for (var i = 0; i < 10; i ++) {
fnArr[i] = function(){
return i;
};
}
console.log( fnArr[3]() ); // 10
for(var i=0; i<10;i++) {
fnArr[i] = (function(a){
return a;
})(i);
}
for(var i=0; i<10;i++) {
(function(a){
fnArr[a] = function(){
return a;
}
})(i)
}
//let var
for(var i=0; i<10;i++) {
let val = i;
fnArr[i] = function(){
return val;
};
}
タイトル2:自動車の対象物をパッケージ化し、以下の方法で自動車の状態を取得することができる
var Car = (function(){
var speed = 0;
function setSpeed(s){
if(s>0){
speed = s
}else{ return }
}
function getSpeed(){
return speed;
}
function accelerate(){
speed = speed + 10;
return speed;
}
function decelerate(){
if(speed >= 10){
speed = speed - 10;
return speed;
}
}
function getStatus(){
if(speed !== 0){
return 'running'
}else{
return 'stop'
}
}
return {
setSpeed: setSpeed,
getSpeed: getSpeed,
accelerate: accelerate,
decelerate: decelerate,
getStatus: getStatus,
speed: 'error'
}
})()
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); 2
}, 0);
var a ;
console.log(a); 1
a = 3;
console.log(a); 3
打出結果は1 3 2が1先、そしてaが3 settimeout関数として付与され、JSの他のコードの実行が完了した後に実行される
题目4:次のコード出力结果は?どうして?
var flag = true;
setTimeout(function(){
flag = false;
},0)
while(flag){}
console.log(flag);
/* 。
while(flag){} ,flag = true,
setTimeout ,
flag true, console.log ,
while(flag){} , 。*/***
( 60 Chrome JS , , true)
テーマ5:次のコードは出力しますか?delayer:0,delayer:1...(閉パッケージで実装)を出力する方法
for(var i=0;i<5;i++){
setTimeout(function(){
console.log('delayer:' + i );
}, 0);
console.log(i);
}
for(var i=0;i<5;i++){
!function (i) {
setTimeout(function(){
console.log('delayer:' + i );
}, 0);
}(i)
console.log(i);
}
テーマ6:どのように要素の真実の幅の高さを獲得します
Windows.getComputedStyle style属性内の値は非常に機械的で、読み込まれたのは要素のインラインstyle属性の値であり、私たちが計算した実際の値ではないので、一般的にはgetComputedStyleは現在の要素のすべての最終的に使用されるCSS属性値を取得することができます.CSSスタイル宣言オブジェクトを返します([object CSSStyleDeplaration])(この関数の名前を見ると問題が解決したことがわかります)
var logo=document.querySelector('#result_logo')aa=window.getComputedStyle(logo)aa.height aa.width低バージョンIEはelement.currentStyle()
タイトル7:URLはどのようにコードして復号しますか?どうしてコードするの?
Urlには英字(a-zA-Z)、数字(0-9)、-.~のみが許可されています.4つの特殊文字とすべての保持文字.これは、URLに漢字やギリシャ文字などの他の文字があれば、符号化して使用しなければならないことを意味します.異なるオペレーティングシステム、異なるブラウザ、異なるWeb文字セットは、完全に異なる符号化結果をもたらします.Javascriptを使用してURLをエンコードしてからサーバに送信する場合は、ブラウザに手を出す機会を与えないでください.Javascriptの出力は常に一致するため,サーバが得たデータがフォーマット統一されていることが保証される.JavaScriptが提供する4つのURLの符号化/復号方法decodeURI()decodeURIComponent()encodeURI()encodeURIComponent()違い
テーマ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 /(iphone)|(ipad)/i.test(navigator.userAgent); }