面試題總結(jié)--JavaScript

1-typeof的返回值?

? ? number靡挥、string、boolean簸淀、object幔烛、undefined、function令蛉、symbol

2-類型轉(zhuǎn)換

? ? 強制:parseInt珠叔、parseFloat弟劲、Boolean、String兔乞、Number

? ? 隱士:>凉唐、<台囱、+读整、*米间、==、if的榛、||困曙、&&

? ? 除了判斷null或者undefined其他一律三等

3-split和join

? ? split用于將字符串通過指定分隔符拆分為數(shù)組

? ? join則像是一個split的你操作,用以將數(shù)組轉(zhuǎn)字符串,默認轉(zhuǎn)出的字符串以逗號分隔蹦哼,可以指定""參數(shù)消除

4-常用的數(shù)組操作

? ? push纲熏、pop、shift勺拣、unshift药有、splice苹丸、join愤惰、slice、concat赘理、fill宦言、sort、flat商模、from奠旺、reverse蜘澜、includes、indexOf响疚、? ? ? ? ? ? map鄙信、forEach、filter稽寒、every扮碧、some、reduce

5-ie兼容性

? ? event || window.event

? ? event.target || event.scrElement

? ? document.documentElement.clientWidth || document.body.clientWidth

? ? event.stopPropagation || event.cancelBubble=true

? ? event.preventDefault || event.returnValue = false

6-ajax

? ? I-get和post的區(qū)別

? ? ? ? get請求參數(shù)會附帶到地址欄后,明文傳輸咱旱,安全性較低,不同的瀏覽器對大小限制不同褂始,chrome在7700左右,? ? ? ? ? ? ? ? ? 主要用于獲取

? ? ? ? post參數(shù)放在虛擬載體中肌蜻,對用戶不可見,相對較安全齿诞,理論上對數(shù)據(jù)量無限制,主要用于提交

? ? II-ajax實現(xiàn)過程

? ? ? ? //兼容處理

? ? ? ? var xhr = null

? ? ? ? if(window.XMLHttpRequest){

? ? ? ? ? ? xhr = new?XMLHttpRequest()

????????}else{

? ? ? ? ? ? xhr = new ActiveXObject("Microsoft.XMLHTTP")

????????}

? ? ? ?//準備請求

? ? ? ? xhr.open(get/post) //若為post需要setRequestHeader

? ? //發(fā)送

? ? ? ? xhr.send()

? ? //監(jiān)聽狀態(tài)

? ? ? ? xhr.onreadyStateChange = ()=>{

? ? ? ? ? ? ? ? if(xhr.readyState == 4 && xhr.status == 200){

? ? ? ? ? ? ? ? ? ? ? ? //獲取api數(shù)據(jù)

? ? ? ? ? ? ? ? ? ? ? ? json.parse(apiData)

????????????????}

????????}

7-call和apply的區(qū)別

? ? 都用于改變this指向

? ? 傳參方式不同宿刮,call單個,apply傳遞一個數(shù)組

8-什么是事件委托

? ? 通過事件冒泡將子元素委托到父元素處理磕潮,這樣具有一定的動態(tài)性,不需要考慮后續(xù)子元素的增減膏潮,亦不需要重新? ? ? ? 注冊事件油额,但是應用場景也僅限于此

9-閉包

? ? 當在函數(shù)內(nèi)return一個函數(shù)讲岁,且return的函數(shù)保留是外層函數(shù)的引用看峻,會生成閉包互妓,閉包會阻止變量被回收,延長了? ? ? ? 生命周期灼狰。但是濫用會導致內(nèi)存泄漏

? ? 使用方式:將函數(shù)作為參數(shù)或返回值

? ? 應用:

? ? 表現(xiàn):定義處和使用處不一樣


10-常用dom操作

? ? I-創(chuàng)建

? ? ? ? createElement、createTextNode

? ? II-插入

? ? ? ? insertBefore、appendChild

? ? III-替換

? ??????replaceChild

? ? IV-刪除

? ? ? ? removeChild

? ? V-獲取

? ? ? ? getElementsByClassName旁钧、getElementById、getElementsByTagName、querySelector(靜態(tài))

11-jsonP

? ? 利用script標簽的跨域性動態(tài)創(chuàng)建并插入焦影,但是只支持get請求,且需要與后臺配合

12-load和ready的區(qū)別

? ? window.onload會等待頁面資源加載完畢,這包括圖片闸氮、css授翻、js巡语、html

? ? ready在原生上并沒有實現(xiàn),它只關(guān)注dom是否創(chuàng)建完畢

13-函數(shù)聲明與函數(shù)表達式的區(qū)別

? ? 使用function關(guān)鍵字定義的函數(shù)將在預編譯過程中被提升理澎,函數(shù)是全局可用的寇荧;而使用var定義的則不會被提升,只? ? ? ? 在執(zhí)行到時才有含義

14-http

? ??http://www.reibang.com/p/7ed690f4b83a

15-異步和同步的區(qū)別

? ? 異步基于js單線程,不會阻塞代碼,同步會

16-手寫promise加載圖片

? ? function loadImg(src){

? ? ? ? return new Promise((resolve,reject)=>{

? ? ? ? ? ? ? ? let img = document.createElement('img')

? ? ? ? ? ? ? ? img.onload = ()=>{

? ??????????????????resolve(img)

????????????????}

? ? ? ? ? ? ? ? img.onerror = ()=>{

? ??????????????????reject('err')

????????????????}

? ? ? ? ? ? ? ? img.src = src

????????})

????}

17-dom事件綁定

? ? let elem = document.getElementById('test')

? ? elem.addEventListener(eventType,callback)

? ? elem.onEventType = callback

? ? <div onEventType="callback"></div>

18-判斷字符串以字母開頭,后邊可以是字母,數(shù)字或下劃線疚颊,長度5-30

? ? /[a-zA-Z]\w{5,30}/

19-null和undefined的區(qū)別

? ? null表示一個值為空的對象母截,使用Number轉(zhuǎn)換的結(jié)果為0喘漏;undefined表示一個已聲明但未初始化值的變量,使用? ? ? ? ? ? ? ? ? Number轉(zhuǎn)換結(jié)果為NaN

? ? undefined常見的場景如下

? ? ? ? 函數(shù)參數(shù)未傳????

? ? ? ? 函數(shù)無返回值

? ? ? ? 對象不存在某屬性

? ? ? ? 變量聲明未賦值

? ? null常見常見

? ? ? ? 原型鏈終點

? ? ? ? 對象占位

20-new干了什么

? ? 創(chuàng)建一個對象,并將this指向該對象,將函數(shù)的屬性和方法拷貝一份同時對原型繼承,最后返回該對象

21-按需加載

? ? defer? ? 并行加載本慕、非阻塞藤违、保證順序

????async? ? 不保證順序

????動態(tài)script骡男、按需加載

22-flash和ajax

? ? flash適用媒體、質(zhì)量圖,ajax適用文本、搜索

? ? 都用于服務器通信,都實現(xiàn)了局部刷新

23-寫出下面代碼的執(zhí)行結(jié)果


? ? 結(jié)果:4 1 3 5 2

? ? 解析:引擎執(zhí)行時打印4,調(diào)用a函數(shù)輸出1,遇到await,先對await進行求值輸出3,然后將后續(xù)代碼視為異步交管webAPI后繼續(xù)執(zhí)行同步代碼輸出5,此時同步代碼執(zhí)行完畢且其他可退出調(diào)用棧的代碼,開啟事件循環(huán),輪詢回調(diào)隊列輸出2

24-什么是宏任務和微任務,兩者的區(qū)別

? ? 宏:定時器、dom事件惕橙、ajax

? ? 微:promise彬坏、async/await

? ? 區(qū)別:微任務的執(zhí)行時機早于宏任務

25-值類型和引用類型的區(qū)別

? ? 值存儲在棧內(nèi)存中,引用類型存儲在堆內(nèi)容中坯屿;當變量值為引用類型時吠昭,會在堆內(nèi)存中開辟空間并將地址交予變量(變量在棧內(nèi)存)

26-如何判斷數(shù)組

? ? arr instanceof Array

27-深拷貝


28-手寫簡易jq


29-truely和falsely變量

? ? 兩次取反后為true或false(除了0兜粘、‘’路鹰、NaN帽氓、null势腮、undefined、false外都是truely變量)

30-class的原型本質(zhì),如何理解

? ? 原型和原型鏈

? ? 當使用new操作符時,返回的實例會被添加__proto__隱式原型指向原型對象,而每一個原型對象又有自己的隱式原型指向父級的原型對象,直到null

31-手寫繼承

? ?

32-手寫bind


33-this

? ? 場景:普通函數(shù)逝撬、call/apply/bind狡相、對象方法滔悉、class歉提、箭頭函數(shù)

? ? 指向:取值取絕于執(zhí)行(箭頭函數(shù)的this取其父級中的this)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門沉颂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來彻坛,“玉大人间驮,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮嘀粱,結(jié)果婚禮上娃磺,老公的妹妹穿的比我還像新娘听诸。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般讼油。 火紅的嫁衣襯著肌膚如雪辰晕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天汉形,我揣著相機與錄音概疆,去河邊找鬼岔冀。 笑死侦高,一個胖子當著我的面吹牛奉呛,可吹牛的內(nèi)容都是我干的瞧壮。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起话肖,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎扬蕊,沒想到半個月后搀别,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡厨相,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年领曼,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蛮穿。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡庶骄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出践磅,到底是詐尸還是另有隱情单刁,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布府适,位于F島的核電站羔飞,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏檐春。R本人自食惡果不足惜逻淌,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望疟暖。 院中可真熱鬧卡儒,春花似錦、人聲如沸俐巴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽欣舵。三九已至擎鸠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間缘圈,已是汗流浹背劣光。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留糟把,地道東北人赎线。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像糊饱,于是被迫代替她去往敵國和親垂寥。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,077評論 2 355