23.定時(shí)器、閉包诅诱、BOM

1.下面的代碼輸出多少髓堪?修改代碼讓 fnArri 輸出 i。使用 兩種以上的方法

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

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

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

2.封裝一個(gè)汽車對(duì)象娘荡,可以通過(guò)如下方式獲取汽車狀態(tài)

var Car = (function(){
    var speed = 0;
    function setSpeed(s){
       speed = s
    }
    function accelerate(){
        speed = speed+10
    }
    function decelerate(){
        speed = speed-10
    }
    function getSpeed(){
        console.log(speed)
    }
    function getStatus(){
        if(speed){
            console.log('running')
        }else{
            console.log('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.下面這段代碼輸出結(jié)果是? 為什么?

var a = 1;
setTimeout(function(){
    a = 2;
    console.log(a);
}, 0);
var a ;
console.log(a);
a = 3;
console.log(a);
//1 3 2
//因?yàn)閟etTimeout第二個(gè)參數(shù)告訴js什么時(shí)候?qū)⑵浞湃雸?zhí)行隊(duì)列中干旁,但是如果當(dāng)前隊(duì)列中不是空的,setTimeout會(huì)被放在隊(duì)尾執(zhí)行炮沐。
//上述代碼除了setTimeout之外的其他代碼都先執(zhí)行争群,最后再執(zhí)行setTimeout

4.下面這段代碼輸出結(jié)果是? 為什么?

var flag = true;
setTimeout(function(){
    flag = false;
},0)
while(flag){}
console.log(flag);
//沒(méi)有輸出,setTimeout放在當(dāng)前隊(duì)列的隊(duì)尾央拖,所以flag賦值為true后祭阀,執(zhí)行while,跳不出循環(huán)了鲜戒,setTimeout也執(zhí)行不了了

5.下面這段代碼輸出专控?如何輸出delayer: 0, delayer:1...(使用閉包來(lái)實(shí)現(xiàn))

for(var i=0;i<5;i++){
    (function(){
        var n = i
        setTimeout(function(){
        console.log('delayer:' + n );
        }, 0);
    })()
    console.log(i);
}

6. 如何獲取元素的真實(shí)寬高

getComputedStyle()返回的樣式是一個(gè)實(shí)時(shí)的 CSSStyleDeclaration對(duì)象,當(dāng)元素的樣式更改時(shí)遏餐,它會(huì)自動(dòng)更新本身伦腐。

<style>
    div{
        height: 100px;
        background-color: red;
    }
</style>
<div>123</div>
<script>
var div = document.querySelector('div')
var a = getComputedStyle(div).height
var b = getComputedStyle(div).width
console.log(a,b)//100px 443px
</script>

7.URL 如何編碼解碼?為什么要編碼失都?

參考
1.URL編碼與解碼
2.關(guān)于URL編碼

//解碼
decodeURI() 
decodeURIComponent()
//對(duì)應(yīng)編碼
encodeURI() //不對(duì)ASCII字母or數(shù)字or~!@#$&*()=:/,;?+'進(jìn)行編碼
encodeURIComponent()//不對(duì)ASCII字母or數(shù)字or~!*()'進(jìn)行編碼
  • 網(wǎng)絡(luò)標(biāo)準(zhǔn)規(guī)定:只有字母和數(shù)字[0-9a-zA-Z]柏蘑、一些特殊符號(hào)"$-_.+!*'(),"[不包括雙引號(hào)]、以及某些保留字粹庞,才可以不經(jīng)過(guò)編碼直接用于URL咳焚。所以對(duì)于漢字等字符需要編碼
  • 對(duì)于使用了有特殊含義字符的參數(shù)需要進(jìn)行編碼,以免造成歧義庞溜。字符(!$&'()*+,;=)用于在每個(gè)組件中起到分隔作用的革半,如=用于表示查詢參數(shù)中的鍵值對(duì),&符號(hào)用于分隔查詢多個(gè)鍵值對(duì)流码。當(dāng)組件中的普通數(shù)據(jù)包含這些特殊字符時(shí)又官,需要對(duì)其進(jìn)行編碼。

8.補(bǔ)全如下函數(shù)漫试,判斷用戶的瀏覽器類型

function isAndroid(){
    return (/android/i.test(navigator.userAgent))
}
function isIphone(){
    return (/iphone/i.test(navigator.userAgent))
}
function isIpad(){
    return (/ipad/i.test(navigator.userAgent))
}
function isIOS(){
    return (/(ipad)|(iphone)/i.test(navigator.userAgent))
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末六敬,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子驾荣,更是在濱河造成了極大的恐慌外构,老刑警劉巖普泡,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異典勇,居然都是意外死亡劫哼,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門割笙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)权烧,“玉大人,你說(shuō)我怎么就攤上這事伤溉“懵耄” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵乱顾,是天一觀的道長(zhǎng)板祝。 經(jīng)常有香客問(wèn)我,道長(zhǎng)走净,這世上最難降的妖魔是什么券时? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮伏伯,結(jié)果婚禮上橘洞,老公的妹妹穿的比我還像新娘。我一直安慰自己说搅,他們只是感情好炸枣,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著弄唧,像睡著了一般适肠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上候引,一...
    開(kāi)封第一講書(shū)人閱讀 49,772評(píng)論 1 290
  • 那天侯养,我揣著相機(jī)與錄音,去河邊找鬼澄干。 笑死逛揩,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的傻寂。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼携兵,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼疾掰!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起徐紧,我...
    開(kāi)封第一講書(shū)人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤静檬,失蹤者是張志新(化名)和其女友劉穎炭懊,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體拂檩,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡侮腹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了稻励。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片父阻。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖望抽,靈堂內(nèi)的尸體忽然破棺而出加矛,到底是詐尸還是另有隱情,我是刑警寧澤煤篙,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布斟览,位于F島的核電站,受9級(jí)特大地震影響辑奈,放射性物質(zhì)發(fā)生泄漏苛茂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一鸠窗、第九天 我趴在偏房一處隱蔽的房頂上張望妓羊。 院中可真熱鬧,春花似錦塌鸯、人聲如沸侍瑟。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)涨颜。三九已至,卻和暖如春茧球,著一層夾襖步出監(jiān)牢的瞬間庭瑰,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工抢埋, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留弹灭,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓揪垄,卻偏偏與公主長(zhǎng)得像穷吮,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子饥努,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理捡鱼,服務(wù)發(fā)現(xiàn),斷路器酷愧,智...
    卡卡羅2017閱讀 134,629評(píng)論 18 139
  • 題目1: 下面的代碼輸出多少驾诈?修改代碼讓 fnArri 輸出 i缠诅。使用 兩種以上的方法 方法一: 方法二: 方法三...
    南山碼農(nóng)閱讀 278評(píng)論 0 1
  • 1.題目1: 下面的代碼輸出多少?修改代碼讓 fnArri 輸出 i乍迄。使用 兩種以上的方法 方法一: 立即執(zhí)行函數(shù)...
    饑人谷_啦啦啦閱讀 384評(píng)論 0 0
  • 題目1: 下面的代碼輸出多少管引?修改代碼讓 fnArr[i]() 輸出 i。使用 兩種以上的方法 在線預(yù)覽 在線預(yù)覽...
    阿魯提爾閱讀 349評(píng)論 0 1
  • 一晃周家長(zhǎng)孫闯两,奶奶大弟弟長(zhǎng)大褥伴,撐起了門戶,長(zhǎng)輩的經(jīng)商基因被他完全地繼承了生蚁,與他三叔并肩作戰(zhàn)噩翠,擴(kuò)充商號(hào)資本,經(jīng)營(yíng)品種...
    自在的絮叨閱讀 910評(píng)論 4 2