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