2020-04-12

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?js面試題


.你能描述一下漸進(jìn)增強和優(yōu)雅降級之間的不同嗎?

優(yōu)雅降級:Web站點在所有新式瀏覽器中都能正常工作扛点,如果用戶使用的是老式瀏覽器,則代碼會檢查以確認(rèn)它們是否能正常工作。由于IE獨特的盒模型布局問題,針對不同版本的IE的hack實踐過優(yōu)雅降級了,為那些無法支持功能的瀏覽器增加候選方案娜谊,使之在舊式瀏覽器上以某種形式降級體驗卻不至于完全失效.

漸進(jìn)增強:從被所有瀏覽器支持的基本功能開始彼城,逐步地添加那些只有新式瀏覽器才支持的功能,向頁面增加無害于基礎(chǔ)瀏覽器的額外樣式和功能的涧至。當(dāng)瀏覽器支持時腹躁,它們會自動地呈現(xiàn)出來并發(fā)揮作用。

.css?動畫和?js?動畫的差異

代碼復(fù)雜度南蓬,js?動畫代碼相對復(fù)雜一些

動畫運行時纺非,對動畫的控制程度上,js?能夠讓動畫赘方,暫停烧颖,取消,終止窄陡,css?動畫不能添加事件

動畫性能看炕淮,js?動畫多了一個?js?解析的過程,性能不如?css?動畫好

遞歸函數(shù)

?說說寫JavaScript的基本規(guī)范泳梆?

1) 不要在同一行聲明多個變量

2) 使用 ===或!==來比較true/false或者數(shù)值

3) switch必須帶有default分支

4) 函數(shù)應(yīng)該有返回值

5) for if else 必須使用大括號

6) 語句結(jié)束加分號

7) 命名要有意義,使用駝峰命名法

JavaScript有幾種類型的值榜掌?你能畫一下他們的內(nèi)存圖嗎优妙?

基本數(shù)據(jù)類型存儲在棧中,引用數(shù)據(jù)類型(對象)存儲在堆中憎账,指針放在棧中套硼。

兩種類型的區(qū)別是:存儲位置不同;原始數(shù)據(jù)類型直接存儲在棧中的簡單數(shù)據(jù)段胞皱,占據(jù)空間小邪意、大小固定,屬于被頻繁使用數(shù)據(jù)反砌,所以放入棧中存儲雾鬼;引用數(shù)據(jù)類型存儲在堆中的對象,占據(jù)空間大、大小不固定,如果存儲在棧中宴树,將會影響程序運行的性能

引用數(shù)據(jù)類型在棧中存儲了指針策菜,該指針指向堆中該實體的起始地址。當(dāng)解釋器尋找引用值時酒贬,會首先檢索其在棧中的地址又憨,取得地址后從堆中獲得實體。

?eval是做什么的锭吨?

它的功能是把對應(yīng)的字符串解析成JS代碼并運行蠢莺;應(yīng)該避免使用eval,不安全零如,非常耗性能(2次躏将,一次解析成js語句锄弱,一次執(zhí)行)。

什么是window對象? 什么是document對象?

window對象代表瀏覽器中打開的一個窗口耸携。document對象代表整個html文檔棵癣。實際上,document對象是window對象的一個屬性夺衍。

null狈谊,undefined的區(qū)別?

null表示一個對象被定義了沟沙,但存放了空指針河劝,轉(zhuǎn)換為數(shù)值時為0。

undefined表示聲明的變量未初始化矛紫,轉(zhuǎn)換為數(shù)值時為NAN赎瞎。

typeof(null) -- object;

typeof(undefined) -- undefined

?new操作符具體干了什么呢?

1) 創(chuàng)建一個空對象,并且 this 變量引用該對象颊咬,同時還繼承了該函數(shù)的原型务甥。

2) 屬性和方法被加入到 this 引用的對象中。

3) 新創(chuàng)建的對象由 this 所引用喳篇,并且最后隱式的返回 this 敞临。

Javascript中,執(zhí)行時對象查找時麸澜,永遠(yuǎn)不會去查找原型的函數(shù)挺尿?

Object.hasOwnProperty(proName):是用來判斷一個對象是否有你給出名稱的屬性。不過需要注意的是炊邦,此方法無法檢查該對象的原型鏈中是否具有該屬性编矾,該屬性必須是對象本身的一個成員。

JS延遲加載的方式有哪些馁害?

JS的延遲加載有助與提高頁面的加載速度窄俏。

defer和async、動態(tài)創(chuàng)建DOM方式(用得最多)碘菜、按需異步載入JS

defer:延遲腳本裆操。立即下載,但延遲執(zhí)行(延遲到整個頁面都解析完畢后再運行)炉媒,按照腳本出現(xiàn)的先后順序執(zhí)行踪区。

async:異步腳本。下載完立即執(zhí)行吊骤,但不保證按照腳本出現(xiàn)的先后順序執(zhí)行缎岗。

同步和異步的區(qū)別?

同步的概念在操作系統(tǒng)中:不同進(jìn)程協(xié)同完成某項工作而先后次序調(diào)整(通過阻塞、喚醒等方式)白粉,同步強調(diào)的是順序性传泊,誰先誰后鼠渺。異步不存在順序性。

同步:瀏覽器訪問服務(wù)器眷细,用戶看到頁面刷新拦盹,重新發(fā)請求,等請求完溪椎,頁面刷新普舆,新內(nèi)容出現(xiàn),用戶看到新內(nèi)容之后進(jìn)行下一步操作校读。

異步:瀏覽器訪問服務(wù)器請求沼侣,用戶正常操作,瀏覽器在后端進(jìn)行請求歉秫。等請求完蛾洛,頁面不刷新,新內(nèi)容也會出現(xiàn)雁芙,用戶看到新內(nèi)容轧膘。

call和apply

call()方法和apply()方法的作用相同,動態(tài)改變某個類的某個方法的運行環(huán)境兔甘。他們的區(qū)別在于接收參數(shù)的方式不同谎碍。在使用call()方法時,傳遞給函數(shù)的參數(shù)必須逐個列舉出來裂明。使用apply()時椿浓,傳遞給函數(shù)的是參數(shù)數(shù)組太援。

回流與重繪

當(dāng)渲染樹中的一部分(或全部)因為元素的規(guī)模尺寸闽晦,布局,隱藏等改變而需要重新構(gòu)建提岔。這就稱為回流(reflow)仙蛉。每個頁面至少需要一次回流,就是在頁面第一次加載的時候碱蒙。在回流的時候荠瘪,瀏覽器會使渲染樹中受到影響的部分失效,并重新構(gòu)造這部分渲染樹赛惩。完成回流后哀墓,瀏覽器會重新繪制受影響的部分到屏幕中,該過程成為重繪

?DOM操作

(1)創(chuàng)建新節(jié)點

createDocumentFragment() //創(chuàng)建一個DOM片段

createElement() //創(chuàng)建一個具體的元素

createTextNode() //創(chuàng)建一個文本節(jié)點

(2)添加喷兼、移除篮绰、替換、插入

appendChild()

removeChild()

replaceChild()

insertBefore() //在已有的子節(jié)點前插入一個新的子節(jié)點

(3)查找

getElementsByTagName() //通過標(biāo)簽名稱

getElementsByName() //通過元素的Name屬性的值(IE容錯能力較強季惯,會得到一個數(shù)組吠各,其中包括id等于name值的)

getElementById()?

數(shù)組對象有哪些原生方法臀突,列舉一下

pop、push贾漏、shift候学、unshift、splice纵散、reverse梳码、sort、concat困食、join边翁、slice、toString硕盹、indexOf符匾、lastIndexOf、reduce瘩例、reduceRight

forEach啊胶、map、filter垛贤、every焰坪、some

?flash和js通過什么類如何交互?

Flash提供了ExternalInterface接口與JavaScript通信,ExternalInterface有兩個方法聘惦,call和addCallback某饰,call的作用是讓Flash調(diào)用js里的方法,addCallback是用來注冊flash函數(shù)讓js調(diào)用善绎。

漸進(jìn)增強與優(yōu)雅降級

漸進(jìn)增強:針對低版本瀏覽器進(jìn)行構(gòu)建頁面,保證最基本的功能禀酱,然后再針對高級瀏覽器進(jìn)行效果炬守、交互等改進(jìn),達(dá)到更好的用戶體驗剂跟。

優(yōu)雅降級:一開始就構(gòu)建完整的功能减途,然后再針對低版本瀏覽器進(jìn)行兼容。

attribute與property的區(qū)別曹洽?

attribute是dom元素在文檔中作為html標(biāo)簽擁有的屬性

property是dom元素在js中作為對象擁有的屬性鳍置。

所以,對于html的標(biāo)準(zhǔn)屬性來說送淆,attribute和property是同步的税产,是會自動更新的。但對于自定義屬性,他們不同步砖第。

map():

對數(shù)組的所有成員依次調(diào)用一個函數(shù)撤卢,返回值是一個新數(shù)組。



forEach():

與map方法很相似梧兼,也是遍歷數(shù)組的所有成員放吩,執(zhí)行某種操作。注意:forEach方法一般沒有返回值


閉包是什么羽杰,有什么特性渡紫,對頁面有什么影響

就是函數(shù)a的內(nèi)部函數(shù)b,被函數(shù)a外部的一個變量引用的時候考赛,就創(chuàng)建了一個閉包

閉包的特性:

①.封閉性:外界無法訪問閉包內(nèi)部的數(shù)據(jù)惕澎,如果在閉包內(nèi)聲明變量,外界是無法訪問的颜骤,除非閉包主動向外界提供訪問接口唧喉;

②.持久性:一般的函數(shù),調(diào)用完畢之后忍抽,系統(tǒng)自動注銷函數(shù)八孝,而對于閉包來說,在外部函數(shù)被調(diào)用之后鸠项,閉包結(jié)構(gòu)依然保存在

系統(tǒng)中干跛,閉包中的數(shù)據(jù)依然存在,從而實現(xiàn)對數(shù)據(jù)的持久使用祟绊。

優(yōu)點:

① 減少全局變量楼入。

② 減少傳遞函數(shù)的參數(shù)量

③ 封裝;

缺點:

使用閉包會占有內(nèi)存資源牧抽,過多的使用閉包會導(dǎo)致內(nèi)存溢出等.

如何阻止默認(rèn)事件

(1)return false嘉熊;(2) ev.preventDefault();

?冒泡排序算法

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末音诈,一起剝皮案震驚了整個濱河市雹舀,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖呼巴,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異御蒲,居然都是意外死亡衣赶,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進(jìn)店門厚满,熙熙樓的掌柜王于貴愁眉苦臉地迎上來府瞄,“玉大人,你說我怎么就攤上這事∽窆荩” “怎么了鲸郊?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長货邓。 經(jīng)常有香客問我秆撮,道長,這世上最難降的妖魔是什么换况? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任职辨,我火速辦了婚禮,結(jié)果婚禮上戈二,老公的妹妹穿的比我還像新娘舒裤。我一直安慰自己,他們只是感情好觉吭,可當(dāng)我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布腾供。 她就那樣靜靜地躺著,像睡著了一般鲜滩。 火紅的嫁衣襯著肌膚如雪台腥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天绒北,我揣著相機與錄音黎侈,去河邊找鬼。 笑死闷游,一個胖子當(dāng)著我的面吹牛峻汉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播脐往,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼休吠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了业簿?” 一聲冷哼從身側(cè)響起瘤礁,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎梅尤,沒想到半個月后柜思,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡巷燥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年赡盘,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缰揪。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡陨享,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情抛姑,我是刑警寧澤赞厕,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站定硝,受9級特大地震影響坑傅,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜喷斋,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一唁毒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧星爪,春花似錦浆西、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至抄肖,卻和暖如春久信,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背漓摩。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工裙士, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人管毙。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓腿椎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親夭咬。 傳聞我的和親對象是個殘疾皇子啃炸,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,515評論 2 359

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

  • 前端開發(fā)面試題 面試題目: 根據(jù)你的等級和職位的變化,入門級到專家級卓舵,廣度和深度都會有所增加南用。 題目類型: 理論知...
    怡寶丶閱讀 2,588評論 0 7
  • 概要 64學(xué)時 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,223評論 0 3
  • 前端開發(fā)知識點 HTML&CSS對Web標(biāo)準(zhǔn)的理解、瀏覽器內(nèi)核差異掏湾、兼容性裹虫、hack、CSS基本功:布局忘巧、盒子模型...
    Hebborn_hb閱讀 845評論 0 1
  • PNG 有PNG8和truecolor PNG PNG8類似GIF顏色上限為256恒界,文件小睦刃,支持alpha透明度砚嘴,...
    hudaren閱讀 1,537評論 0 0
  • 從2月份開始回來南寧就一直隔離在家,每天悶得不行的時候,就出門走走际长,當(dāng)然口罩不可缺少耸采,安全還是需要注意的工育。 一直想...
    大強隨筆閱讀 129評論 0 0