前端常見面試題-1

1~數(shù)組的map方法和foreach的區(qū)別

foreach只做循環(huán)琼了,map循環(huán)數(shù)組的每一項,生成新的數(shù)組對象困曙,然后map循環(huán)生成新的數(shù)組對象的長度和原數(shù)組一模一樣表伦,新數(shù)組的每一項的內(nèi)容是原數(shù)組循環(huán)的返回值。

2~axios和jquery ajax的區(qū)別

JQ提交數(shù)據(jù)的時候慷丽,默認(rèn)是以FormDate的形式提交的蹦哼,也就是Content-Type:“application/x-www-form-urlencoded”;
axios提交數(shù)據(jù)的時候默認(rèn)是以Payload形式提交的要糊,也就是Content-Type:"application/json"纲熏。

3~圖片加載失敗可以設(shè)置默認(rèn)值:

原生給img設(shè)置默認(rèn)圖片 onerror事件里面設(shè)置 this.src 屬性
<img src="圖片的url地址" alt="圖片XX" onerror="this.src='默認(rèn)圖片的url地址'"/>

4~事件總線的理解:

事件總線這個概念對你來說可能很陌生,但提到觀察者(發(fā)布-訂閱)模式,你也許就很熟悉局劲。事件總線是對發(fā)布-訂閱模式的一種實現(xiàn)勺拣。它是一種集中式事件處理機制,允許不同的組件之間進行彼此通信而又不需要相互依賴鱼填,達到一種解耦的目的药有。
我們來看看事件總線的處理流程:


5~自定義組件的理解:

就是組件的封裝,代碼的復(fù)用率高苹丸,后期方便維護

6~單項數(shù)據(jù)流:

簡單的單向數(shù)據(jù)流(unidirectional data flow)是指用戶訪問View愤惰,View發(fā)出用戶交互的Action,在Action里對state進行相應(yīng)更新赘理。state更新后會觸發(fā)View更新頁面的過程宦言。這樣數(shù)據(jù)總是清晰的單向進行流動,便于維護并且可以預(yù)測商模。


7~事件的傳播流程:

事件捕獲階段: 從外向里查找元素
目標(biāo)階段:從當(dāng)前事件源本身的操作
事件冒泡階段:從內(nèi)到外依次觸發(fā)相關(guān)的行為(最常用的就是冒泡階段)
阻止事件冒泡:stopPropagation()奠旺,return false
兩者區(qū)別:前者只阻止事件冒泡,不阻止事件本身施流;而后者都阻止响疚。

8~原型,原型鏈

在js中嫂沉,對象都有proto屬性稽寒,一般這個是被稱為隱式的原型,該隱式原型指向構(gòu)造該對象的構(gòu)造函數(shù)的原型趟章。
  函數(shù)比較特殊,它除了和其他對象一樣有proto屬性慎王,還有自己特有的屬性prototype蚓土,這個屬性是一個指針,指向一個包含所有實例共享的屬性和方法的對象赖淤,稱之為原型對象蜀漆。原型對象也有一個constructor屬性,該屬性指回該函數(shù)咱旱。
當(dāng)試圖訪問一個對象的屬性時确丢,如果沒有在該對象上找到,它還會搜尋該對象的原型吐限,以及該對象的原型的原型鲜侥,依次層層向上搜索,直到找到一個名字匹配的屬性或到達原型鏈的末尾诸典。

9~彈性布局的屬性及概念:

flex-direction屬性 決定主軸的方向,
flex-direction: row |row-reverse | column | column-reverse

justify-content:屬性定義了項目在主軸上的對齊方式
flex-start |flex-end |center |space-between |space-around;

align-items: 屬性定義項目在交叉軸上如何對齊
flex-start | flex-end | center | baseline |stretch;

10~什么是閉包描函,對閉包的理解:

1.函數(shù)嵌套函數(shù)
2.函數(shù)內(nèi)部可以引用外部的參數(shù)和變量
3.參數(shù)和變量不會被垃圾回收機制回收
使用閉包主要是為了設(shè)計私有的方法和變量。閉包的優(yōu)點是可以避免全局變量的污染,缺點是閉包會常駐內(nèi)存舀寓,會增大內(nèi)存使用量胆数,使用不當(dāng)很容易造成內(nèi)存泄露。在js中互墓,函數(shù)即閉包必尼,只有函數(shù)才會產(chǎn)生作用域的概念。

11~https和http的區(qū)別篡撵?

https是加密的胰伍,安全性更高,防止抓包酸休。
默認(rèn)端口不一樣

12~html實現(xiàn)打電話功能:

<a href="tel:手機號" ></a>

13~關(guān)于移動端常見的meta設(shè)置:

頁面描述:
<meta name="description" content="不超過150個字符"/>
頁面關(guān)鍵詞:
<meta name="keywords" content=""/>
網(wǎng)頁作者:
<meta name="author" content="name, email@gmail.com"/>
為移動設(shè)備添加 viewport
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1, user-scalable=no">

14~在項目開發(fā)中遇到的難點:

考察 你的項目經(jīng)驗骂租。

15~vue-vant實現(xiàn)圖片上傳:

使用 vant 引入
import { Uploader } from 'vant';
Vue.use(Uploader);

16~vue-vant圖片懶加載:

使用 vant 引入
Lazyload 是 Vue 指令,使用前需要對指令進行注冊

import Vue from 'vue';
import { Lazyload } from 'vant';

// options 為可選參數(shù)斑司,無則不傳
Vue.use(Lazyload, options);

17~面向?qū)ο蟮睦斫猓?/h1>

封裝:對一些可復(fù)用的代碼進行封裝渗饮,
繼承:class類 可以通過 expents來擴展繼承,
多態(tài):js中 多態(tài)同名方法會覆蓋宿刮,JAVA 中 同名方法中 參數(shù)不同互站,是不同的方法

18~MVC,MVVM的理解:

MVC:M用來存儲數(shù)據(jù),V用來展示數(shù)據(jù)僵缺,C控制數(shù)據(jù)的展示 Controller
MVVM:M用來存儲數(shù)據(jù)胡桃,V用來展示數(shù)據(jù),VM用來實現(xiàn)數(shù)據(jù)的雙向綁定磕潮。

19~vue 路由守衛(wèi)的理解:

router.beforeEach((to,from,next)=>{})
回調(diào)函數(shù)中的參數(shù)翠胰,
to:進入到哪個路由去,
from:從哪個路由離開自脯,
next:函數(shù)之景,決定是否展示你要看到的路由頁面。
如下膏潮,判斷to.path當(dāng)前將要進入的路徑是否為登錄或注冊锻狗,如果是就執(zhí)行next(),展示當(dāng)前界面焕参。如果不是轻纪,就彈出alert,然后移至登錄界面叠纷。
這樣就可實現(xiàn)刻帚,用戶在未登錄狀態(tài)下,展示的一直是登錄界面讲岁。

更多詳情:https://blog.csdn.net/cg7777777/article/details/91355000

20~Jquery 封裝組件的方式有哪幾種我擂?區(qū)別:

更多詳情:https://blog.csdn.net/muguli2008/article/details/78083463

21~vue 中的計算屬性衬以?和 watch監(jiān)聽的區(qū)別?

computed計算屬性:一個數(shù)據(jù)屬性在它所依賴的屬性發(fā)生變化時校摩,也要發(fā)生變化看峻。
watch函數(shù)適用于,當(dāng)數(shù)據(jù)發(fā)生變化時衙吩,執(zhí)行異步操作或較大開銷操作的情況互妓。
warch可以監(jiān)聽任何數(shù)據(jù)的改變,computed只監(jiān)聽data里的數(shù)據(jù)坤塞。

22~vue中組件渲染的流程:

創(chuàng)建冯勉,注冊,渲染

23~做手機app頁面需注意問題:

在meta標(biāo)簽中設(shè)置 view-port 視口摹芙。

24~手機網(wǎng)頁做好之后灼狰,怎么禁止雙指的縮放:

設(shè)置一個 初始比列,最小比例浮禾,最大比例交胚,禁止縮放

25~360瀏覽器兼容模式與極速模式的區(qū)別:

極速是用chrome內(nèi)核
兼容是ie內(nèi)核
但現(xiàn)在很多網(wǎng)站都首先兼容chrome了,ie反而成了次要的,所以360的極速模式,能更加好的顯示網(wǎng)站,除了部分需要用到ie的,如銀行網(wǎng)站等

26~頁面如何實現(xiàn)局部刷新:

ajax請求實現(xiàn)頁面局部刷新。

27~有組數(shù)據(jù)(人)盈电,根據(jù)不同性別來設(shè)置不同屬性:

原生的:寫一個 if 判斷
vue:用 : 來寫一個動態(tài)綁定的CSS樣式蝴簇,三元表達式

28~在vue更新階段修改data里的數(shù)據(jù),會引發(fā)什么bug:

會造成內(nèi)存泄露匆帚,死循環(huán)熬词。 更新數(shù)據(jù)觸發(fā)頁面改動,一直重復(fù)吸重。
創(chuàng)建階段 和 銷毀階段 只執(zhí)行一次互拾。

29~vue和react有什么不同:

數(shù)據(jù)是不是可變的
通過js操作一切還是各自的處理方式
類式的組件寫法還是聲明式的寫法
什么功能內(nèi)置,什么交給社區(qū)去做
更多詳情:http://www.reibang.com/p/b7cd52868e95?from=groupmessage

30~對Promise的理解:

Promise 是一個構(gòu)造函數(shù)晤锹,對回調(diào)函數(shù)的一種封裝摩幔,對異步編程的一種改進,用同步的方式表達出來鞭铆。可以說Promise是ajax的執(zhí)行狀態(tài)管理工具焦影,我們應(yīng)用的重點是:new出來的promise對象车遂。它有三種狀態(tài):pending(進行中),resolved(已完成)斯辰,rejected(已失敳暗!),狀態(tài)一旦發(fā)生彬呻,就不能改變衣陶。執(zhí)行new的時候狀態(tài)就開始變化柄瑰。promise對象身上有兩個方法:then(),和catch()剪况。我們在遇到回調(diào)函數(shù)層層嵌套時教沾,就可以將函數(shù)返回一個promise對象。利用 then方法+catch方法 來處理译断。
使用promise的好處是:
1.代碼結(jié)構(gòu)更加扁平且更可讀授翻,清晰明了。
2.能解決回調(diào)地獄問題孙咪。
3.可將數(shù)據(jù)請求和業(yè)務(wù)邏輯分離開來堪唐。
4.便于管理維護。
5.能更好的捕獲錯誤翎蹈。
更多詳情:https://www.cnblogs.com/qinmengjiao123-123/p/8321382.html
更多詳情:https://blog.csdn.net/JasonSon__/article/details/79591816

31~遞歸:

函數(shù)自己調(diào)用自己淮菠。

32~什么是回調(diào)函數(shù)?

回調(diào)函數(shù)就是一個通過函數(shù)指針調(diào)用的函數(shù)荤堪。如果你把函數(shù)的指針(地址)作為參數(shù)傳遞給另一個函數(shù)合陵,當(dāng)這個指針被用來調(diào)用其所指向的函數(shù)時,我們就說這是回調(diào)函數(shù)逞力。

33~react 中function和class定義組件的區(qū)別:

更多詳情:https://www.cnblogs.com/longlongdan/p/10776045.html

34~在JS中獲取當(dāng)前用戶的瀏覽器信息:

navigator.userAgent.toLowerCase()
更多詳情:https://www.cnblogs.com/zhoubingyan/p/8392652.html

35~小程序開發(fā)怎么解析富文本:

wxParse 組件 原理是把HTML標(biāo)簽替換成小程序能識別的節(jié)點
vue怎么解析:v-html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末曙寡,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子寇荧,更是在濱河造成了極大的恐慌举庶,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件揩抡,死亡現(xiàn)場離奇詭異户侥,居然都是意外死亡,警方通過查閱死者的電腦和手機峦嗤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門蕊唐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人烁设,你說我怎么就攤上這事替梨。” “怎么了装黑?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵副瀑,是天一觀的道長。 經(jīng)常有香客問我恋谭,道長糠睡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任疚颊,我火速辦了婚禮狈孔,結(jié)果婚禮上信认,老公的妹妹穿的比我還像新娘。我一直安慰自己均抽,他們只是感情好嫁赏,可當(dāng)我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著到忽,像睡著了一般橄教。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上喘漏,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天护蝶,我揣著相機與錄音,去河邊找鬼翩迈。 笑死持灰,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的负饲。 我是一名探鬼主播堤魁,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼返十!你這毒婦竟也來了妥泉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤洞坑,失蹤者是張志新(化名)和其女友劉穎盲链,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體迟杂,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡刽沾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了排拷。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片侧漓。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖监氢,靈堂內(nèi)的尸體忽然破棺而出布蔗,到底是詐尸還是另有隱情,我是刑警寧澤浪腐,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布何鸡,位于F島的核電站,受9級特大地震影響牛欢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜淆游,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一傍睹、第九天 我趴在偏房一處隱蔽的房頂上張望隔盛。 院中可真熱鬧,春花似錦拾稳、人聲如沸吮炕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽龙亲。三九已至,卻和暖如春悍抑,著一層夾襖步出監(jiān)牢的瞬間鳄炉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工搜骡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留拂盯,地道東北人。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓记靡,卻偏偏與公主長得像谈竿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子摸吠,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,092評論 2 355

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

  • 0.New 的執(zhí)行過程大致如下: 創(chuàng)建一個對象 將對象的 _ proto_ 指向 構(gòu)造函數(shù)的 prototype ...
    blank的小粉er閱讀 7,040評論 2 18
  • 根據(jù)自己的實際面試經(jīng)驗以及網(wǎng)上常見的面試題整理的空凸。 基礎(chǔ) 1.怎樣添加、移除寸痢、移動呀洲、復(fù)制、創(chuàng)建和查找節(jié)點轿腺? ①創(chuàng)建...
    XKolento閱讀 11,737評論 2 17
  • 面試前端 小程序 小程序組件如何調(diào)用 有哪些參數(shù)傳值的方法两嘴? 答:一、給HTML元素添加data-*屬性來傳遞我們...
    louhangfei閱讀 421評論 0 4
  • 1族壳、js有哪些數(shù)據(jù)類型 基本數(shù)據(jù)類型:String憔辫,Boolean, Number仿荆, Null贰您, Undefine...
    pauljun閱讀 637評論 0 5
  • 描述new一個對象的過程 創(chuàng)建一個對象 this指向這個對象 執(zhí)行代碼,即給this賦值 返回this 原型繼承案...
    jia林閱讀 349評論 0 0