公司網(wǎng)站建設(shè)的系統(tǒng)功能需求分析安徽seo推廣
1、vue的雙向綁定原理是什么?里面的關(guān)鍵點(diǎn)在哪里?
Vue的雙向綁定原理是基于Object.defineProperty或者Proxy來(lái)實(shí)現(xiàn)的,其關(guān)鍵點(diǎn)在于數(shù)據(jù)劫持,即對(duì)數(shù)據(jù)的讀取和修改進(jìn)行攔截,在數(shù)據(jù)發(fā)生變化時(shí)自動(dòng)更新視圖
2、實(shí)現(xiàn)水平垂直居中的方式?
實(shí)現(xiàn)水平垂直居中的方式有多種,比如使用Flex布局、絕對(duì)定位、margin負(fù)值等。
3、常用偽元素有哪一些?
常用的偽元素有before和after。
4、移動(dòng)端如何適配不同屏幕尺寸?
移動(dòng)端可以通過(guò)設(shè)置meta標(biāo)簽中的viewport屬性來(lái)適配不同屏幕尺寸,例如設(shè)置width=device-width、initial-scale=1等。
5、本地存儲(chǔ)有哪一些?他們?nèi)哂惺裁磪^(qū)別?
常見(jiàn)的本地存儲(chǔ)方式有cookie、localStorage和sessionStorage,它們的區(qū)別在于作用域、存儲(chǔ)容量和過(guò)期時(shí)間等方面。
6、JS的數(shù)據(jù)類型?如何判斷js的數(shù)據(jù)類型?
JavaScript的數(shù)據(jù)類型包括Number、String、Boolean、Object、Null和Undefined等,可以使用typeof、instanceof和Object.prototype.toString.call()等方法來(lái)判斷數(shù)據(jù)類型
7、說(shuō)一下ES6的新特性有哪些?
ES6的新特性包括let和const關(guān)鍵字、箭頭函數(shù)、模板字符串、解構(gòu)賦值、類和繼承、模塊化等。
8、Let、const、var三者有什么區(qū)別?
let和const是塊級(jí)作用域的關(guān)鍵字,var是函數(shù)作用域的關(guān)鍵字,let和const聲明的變量不能重復(fù)聲明,const聲明的變量不可修改。
9、數(shù)組去重有哪些辦法?
數(shù)組去重的方法包括利用構(gòu)造函數(shù)Set的去重功能、使用循環(huán)遍歷和對(duì)象屬性去重等。
10、說(shuō)一下深拷貝和淺拷貝,如何自己實(shí)現(xiàn)一個(gè)深拷貝?
深拷貝和淺拷貝是指在復(fù)制對(duì)象時(shí),是否對(duì)其內(nèi)部的子對(duì)象進(jìn)行遞歸復(fù)制。實(shí)現(xiàn)深拷貝可以使用JSON.parse(JSON.stringify(obj))、遞歸復(fù)制等方法。
11、Vue的生命周期有哪一些?說(shuō)一下它們每個(gè)階段做什么操作?
Vue的生命周期包括beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy和destroyed等階段,每個(gè)階段對(duì)應(yīng)著不同的操作,例如數(shù)據(jù)初始化、DOM掛載和銷毀等。
12、組件通訊方式有哪一些?
組件通訊方式有props、 e m i t 、 emit、 emit、parent/ c h i l d r e n 、 p r o v i d e / i n j e c t 和 children、provide/inject和 children、provide/inject和refs等。
13、Vuex有幾個(gè)屬性及作用?
Vuex的屬性包括state、getters、mutations、actions和modules等,它們用于管理Vue應(yīng)用中的狀態(tài)。
14、Vue的監(jiān)聽(tīng)屬性和計(jì)算屬性有什么區(qū)別?
Vue的監(jiān)聽(tīng)屬性和計(jì)算屬性都用于監(jiān)測(cè)數(shù)據(jù)變化,但監(jiān)聽(tīng)屬性是一個(gè)函數(shù),需要手動(dòng)調(diào)用,而計(jì)算屬性是一個(gè)屬性,會(huì)自動(dòng)計(jì)算并緩存結(jié)果
15、說(shuō)一下防抖和節(jié)流。怎么實(shí)現(xiàn)?
防抖和節(jié)流是用于控制函數(shù)執(zhí)行頻率的方法,防抖是在一定時(shí)間內(nèi)只執(zhí)行最后一次操作,節(jié)流是在一定時(shí)間內(nèi)只執(zhí)行一次操作??梢酝ㄟ^(guò)setTimeout和時(shí)間戳等方式實(shí)現(xiàn)。
16、Vue的導(dǎo)航守衛(wèi)有哪一些?
Vue的導(dǎo)航守衛(wèi)包括全局前置守衛(wèi)、全局后置鉤子、路由獨(dú)享守衛(wèi)和組件內(nèi)的守衛(wèi)等
17、你的登錄攔截怎么實(shí)現(xiàn)的?
登錄攔截可以通過(guò)路由守衛(wèi)、請(qǐng)求攔截和響應(yīng)攔截等方式實(shí)現(xiàn)
18、有用過(guò)圖表嗎?用的多嗎?
常見(jiàn)的圖表庫(kù)包括ECharts、Highcharts、D3等
19、閉包是什么?如何實(shí)現(xiàn)?
閉包是指函數(shù)內(nèi)部可以訪問(wèn)外部函數(shù)的變量,可以用于封裝私有變量和實(shí)現(xiàn)柯里化等操作。
20、Vue2.0和vue3.0有什么區(qū)別?
Vue2.0和Vue3.0的區(qū)別在于性能優(yōu)化、組合式API、響應(yīng)式系統(tǒng)和虛擬DOM等方面。
21、Vue常用的指令有哪些?
Vue常用的指令包括v-model、v-for、v-if、v-show、v-bind、v-on等。
22、v-If和v-show有什么區(qū)別?
v-if和v-show的區(qū)別在于前者在條件為false時(shí)會(huì)銷毀對(duì)應(yīng)的DOM元素,而后者只是在樣式上隱藏元素。
23、v-for為什么要加一個(gè)key?
v-for需要加key屬性是為了幫助Vue識(shí)別節(jié)點(diǎn)的唯一性,提高渲染效率。
24、你是如何封裝一個(gè)組件的?
封裝一個(gè)組件需要考慮組件的輸入和輸出,可以使用props和$emit等方式實(shí)現(xiàn)。
25、有自己從0到1搭建過(guò)項(xiàng)目嗎?
從0到1搭建一個(gè)完整的項(xiàng)目需要考慮項(xiàng)目架構(gòu)、技術(shù)選型、開(kāi)發(fā)流程、測(cè)試和部署等方面
26、有用過(guò)uni-app嗎?
uni-app是一款基于Vue的跨平臺(tái)開(kāi)發(fā)框架,可以用于快速開(kāi)發(fā)小程序、H5、APP等應(yīng)用。
27、你會(huì)寫后臺(tái)嗎?有搞過(guò)服務(wù)端渲染嗎?
后臺(tái)開(kāi)發(fā)需要掌握服務(wù)器端語(yǔ)言和數(shù)據(jù)庫(kù)等技術(shù),服務(wù)端渲染可以提高頁(yè)面的首屏加載速度和SEO效果。
28、說(shuō)一下你項(xiàng)目中遇到的難點(diǎn),如何解決?
在項(xiàng)目中遇到的難點(diǎn)可能包括架構(gòu)設(shè)計(jì)、性能優(yōu)化和業(yè)務(wù)邏輯等方面,需要通過(guò)調(diào)試和優(yōu)化等方式解決
29、Url到瀏覽器的一個(gè)過(guò)程有哪些步驟?
URL到瀏覽器的過(guò)程包括DNS解析、建立TCP連接、發(fā)送HTTP請(qǐng)求、服務(wù)器處理請(qǐng)求、瀏覽器解析渲染頁(yè)面等步驟
30、如何實(shí)現(xiàn)小程序的request封裝及攔截?
可以通過(guò)封裝request函數(shù)和使用攔截器等方式實(shí)現(xiàn)小程序的請(qǐng)求封裝和攔截。
31、在vue的項(xiàng)目應(yīng)用中,不使用框架,怎么封裝?
在Vue項(xiàng)目中不使用框架可以使用原生的HTML、CSS和JavaScript來(lái)實(shí)現(xiàn),需要手動(dòng)處理數(shù)據(jù)和事件等方面。
32、什么是Js原型?原型鏈?zhǔn)鞘裁?#xff1f;
JavaScript的原型是指每個(gè)對(duì)象都有一個(gè)原型對(duì)象,原型對(duì)象又有自己的原型,形成了一條原型鏈。
33、組件通訊方式有哪些?
組件通訊方式包括props、 e m i t 、 emit、 emit、parent/ c h i l d r e n 、 p r o v i d e / i n j e c t 和 children、provide/inject和 children、provide/inject和refs等。
34、用閉包的原理做過(guò)哪些?
閉包可以用于實(shí)現(xiàn)柯里化、封裝私有變量和緩存等操作。
35、作用域是什么?
作用域是指變量的可訪問(wèn)范圍,JavaScript中有全局作用域和函數(shù)作用域等
36、操作數(shù)組的方式有哪些?
操作數(shù)組的方式包括遍歷數(shù)組、添加和刪除元素、數(shù)組去重和排序等。
37、0.1 + 0.2 等于 0.3嗎?為什么?如何解決?
0.1 + 0.2不等于0.3,這是因?yàn)镴avaScript采用的是IEEE 754浮點(diǎn)數(shù)標(biāo)準(zhǔn),存在精度問(wèn)題??梢允褂胻oFixed方法處理。
38、keep-alive是什么?有哪幾個(gè)生命周期階段?
keep-alive是Vue中的一個(gè)組件,用于緩存組件實(shí)例,提高組件的渲染效率,其生命周期包括activated和deactivated等階段
39、判斷一個(gè)變量是否是數(shù)組,有哪些辦法?
判斷一個(gè)變量是否是數(shù)組可以使用Array.isArray和instanceof等方法。
40、判斷一個(gè)變量是否是對(duì)象,有哪些辦法?
判斷一個(gè)變量是否是對(duì)象可以使用typeof和Object.prototype.toString.call()等方法。
41、對(duì)象/數(shù)組常用方法有哪些?
對(duì)象/數(shù)組常用方法包括push、pop、shift、unshift、slice、splice、concat、map、filter、reduce等。
42、創(chuàng)建一個(gè)空數(shù)組/空對(duì)象有哪些方式?
創(chuàng)建一個(gè)空數(shù)組可以使用[]或new Array(),創(chuàng)建一個(gè)空對(duì)象可以使用{}或new Object()。
43、哪些遍歷方式會(huì)改變?cè)瓟?shù)組?
使用forEach、map、filter、reduce等遍歷方式不會(huì)改變?cè)瓟?shù)組,而使用push、pop、shift、unshift、splice等方法會(huì)改變?cè)瓟?shù)組
44、Set和Map各是什么?
Set是一種數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)唯一值,Map是一種鍵值對(duì)數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)任意類型的鍵和值
45、介紹一下promise。
Promise是一種異步操作管理的解決方案,用于解決回調(diào)地獄問(wèn)題,其特點(diǎn)是鏈?zhǔn)秸{(diào)用和狀態(tài)機(jī)制
46、Promise通常會(huì)解決三種問(wèn)題
(1)鏈?zhǔn)交卣{(diào)
(2)同時(shí)發(fā)起幾個(gè)異步請(qǐng)求,誰(shuí)先有結(jié)果就拿誰(shuí)的
(3)發(fā)起多個(gè)請(qǐng)求,等到所有請(qǐng)求后再做下一步處理
這三種方式promise是怎么處理的?
Promise可以通過(guò)then方法實(shí)現(xiàn)鏈?zhǔn)交卣{(diào),通過(guò)Promise.all方法實(shí)現(xiàn)同時(shí)發(fā)起多個(gè)異步請(qǐng)求,通過(guò)Promise.race方法實(shí)現(xiàn)等待多個(gè)異步請(qǐng)求的結(jié)果
47、如何改變一個(gè)函數(shù)a的上下文?
可以使用bind、apply和call等方法改變一個(gè)函數(shù)的上下文
48、Call和replay有什么區(qū)別?
call和apply都是用于改變函數(shù)上下文的方法,區(qū)別在于傳入?yún)?shù)的方式不同
49、Evenbus是什么東西?
EventBus是一種事件發(fā)布/訂閱的機(jī)制,可以實(shí)現(xiàn)組件之間的通訊
50、Vue中普通的生命周期大概有哪些?
Vue中普通的生命周期包括beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy和destroyed等階段。
51、父子組件生命周期執(zhí)行順序是怎么樣的?
父子組件生命周期執(zhí)行順序是父beforeCreate -> 父created -> 父beforeMount -> 子beforeCreate -> 子created -> 子beforeMount -> 子mounted -> 父mounted。
52、mixins有幾個(gè)生命周期階段?
mixins有beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy和destroyed等生命周期階段。
53、彈性布局,一行兩列,一列固定寬,如何實(shí)現(xiàn)?
實(shí)現(xiàn)一行兩列,一列固定寬的水平垂直居中布局可以使用Flex布局,父元素設(shè)置display: flex、align-items: center和justify-content: center,左側(cè)元素設(shè)置flex: 1,右側(cè)元素設(shè)置固定寬度
54、Flex:1 包含哪三種屬性
Flex:1包含flex-grow、flex-shrink和flex-basis三個(gè)屬性,分別表示元素在剩余空間中的占比、元素在空間不足時(shí)的縮放比例和元素的基準(zhǔn)大小。
工具大全:https://aiburgeon.com/siteCollection/