1、html添加樣式的幾種方式
1)鏈接外部樣式文件:樣式文件需額外引入,應(yīng)在<head.../>元素中增加<link.../>子元素
2)導(dǎo)入外部樣式文件:與鏈接外部樣式功能差不多,只是語(yǔ)法存在差別。需要在<style.../>元素中使用@import來(lái)執(zhí)行導(dǎo)入。@import "outer.css”
3)內(nèi)部樣式: 需要放在<style.../>元素定義,每份css樣式只控制一份文檔
4)行內(nèi)樣式:將樣式具體定義到具體的HTML元素,每份css樣式只控制單個(gè)HTML元素
2、form標(biāo)簽的anctype屬性的取值及區(qū)別是什么?
3、描述cookies\sesssionStorage\localStorage的區(qū)別
4、JavaScript創(chuàng)建對(duì)象可以使用哪些方式?
https://www.jb51.net/article/117164.htm
5、null/undefined的區(qū)別
6、在下面的代碼中,數(shù)字1-4會(huì)以什么順序輸出?為什么會(huì)這樣輸出?
(淺析JavaScript單線程執(zhí)行機(jī)制)
7、請(qǐng)簡(jiǎn)述原生ajax請(qǐng)求的執(zhí)行過(guò)程
https://blog.csdn.net/qq_empire/article/details/81736664
原生態(tài)Ajax使用的步驟,最后告訴面試官,我們?cè)诠ぷ髦惺鞘褂?a target="_blank" rel="nofollow">jQuery來(lái)實(shí)現(xiàn)Ajax請(qǐng)求和處理的。在回答的時(shí)候盡量詳盡,包括方法的參數(shù)的個(gè)數(shù),順序和作用,以免被面試官抓住不放。不給面試官提問(wèn)的機(jī)會(huì),那你的回答就牛逼了!
Ajax是什么
我理解Ajax 是一種異步請(qǐng)求數(shù)據(jù)的一種技術(shù),對(duì)于改善用戶的體驗(yàn)和程序的性能很有幫助。
在jquery中
var configObj = {
? ? ? method? //數(shù)據(jù)的提交方式:get和post
? ? ? url? //數(shù)據(jù)的提交路勁
? ? ? async? //是否支持異步刷新,默認(rèn)是true
? ? ? data? ? //需要提交的數(shù)據(jù)
? ? ? dataType? //服務(wù)器返回?cái)?shù)據(jù)的類型,例如xml,String,Json等
? ? ? success? ? //請(qǐng)求成功后的回調(diào)函數(shù)
? ? ? error? //請(qǐng)求失敗后的回調(diào)函數(shù)
? ? }
$.ajax(configObj);//通過(guò)$.ajax函數(shù)進(jìn)行調(diào)用。
原生Ajax的使用
1)創(chuàng)建XMLHttpRequest對(duì)象,也就是創(chuàng)建一個(gè)異步調(diào)用對(duì)象
2)創(chuàng)建一個(gè)新的HTTP請(qǐng)求,并指定該HTTP請(qǐng)求的方法、URL及驗(yàn)證信息
3)設(shè)置響應(yīng)HTTP請(qǐng)求狀態(tài)變化的函數(shù)
4)發(fā)送HTTP請(qǐng)求
5)獲取異步調(diào)用返回的數(shù)據(jù)
6)使用JavaScript和DOM實(shí)現(xiàn)局部刷新
8、列舉使用過(guò)的css/jquery選擇器
.基本
·#id 根據(jù)給定的ID匹配一個(gè)元素。例如:$("#id")
·element 根據(jù)給定的元素名匹配所有元素。例如:$("div")·
.class 根據(jù)給定的類匹配元素。例如:$(".style1");
·* 匹配所有元素。例如:$("*")
·selector1,selector2,selectorN 將每一個(gè)選擇器匹配到的元素合并后一起返回。例如:$("#id,div,.style1")
9、塊級(jí)標(biāo)簽與行內(nèi)標(biāo)簽的區(qū)別(<span>標(biāo)簽和<p>標(biāo)簽的區(qū)別)
塊級(jí)元素具有以下特點(diǎn):
?①總是在新行上開始,占據(jù)一整行;
?②可以設(shè)置width,height,margin,padding屬性;
?③寬度始終是與瀏覽器寬度一樣,與內(nèi)容無(wú)關(guān);
?④它可以容納內(nèi)聯(lián)元素和其他塊元素。
行內(nèi)元素的特點(diǎn):
①和其他元素都在一行上;
②設(shè)置width,height無(wú)效(可以設(shè)置line-height),水平方向的padding-left和padding-right都會(huì)產(chǎn)生邊距效果,padding/margin上下無(wú)效
③寬度只與內(nèi)容有關(guān);
④行內(nèi)元素只能容納文本或者其他行內(nèi)元素
10、請(qǐng)列舉常見瀏覽器內(nèi)核名稱及其私有屬性css前綴
11、請(qǐng)列舉css中常用的幾種定位方式
12、列舉flex不居中,容器的主要屬性
常用屬性:
flex-direction(主軸方向。默認(rèn)row)
flex-wrap(項(xiàng)目在容器軸線排不下是否換行。 默認(rèn)nowrap)
flex-flow(是前兩個(gè)屬性的縮寫。 默認(rèn)值未row nowrap)
justify-content(項(xiàng)目在容器主軸上對(duì)齊方式。默認(rèn)flex-start)
align-items(項(xiàng)目在交叉軸上如何對(duì)齊。默認(rèn)flex-start)
align-content(多根軸線的對(duì)齊方式。默認(rèn)flex-start)
13、實(shí)現(xiàn)響應(yīng)式布局的方式有哪些?
響應(yīng)式布局:簡(jiǎn)而言之,就是一個(gè)網(wǎng)站能夠兼容多個(gè)終端——而不是為每個(gè)終端做一個(gè)特定的版本。這個(gè)概念是為解決移動(dòng)互聯(lián)網(wǎng)瀏覽而誕生的。
實(shí)現(xiàn)響應(yīng)式布局的三種方式
1. CSS3-Media Query(最簡(jiǎn)單的方式,但是無(wú)法滿足很多需求) ???
2. 借助原生Javascript(成本高,不推薦使用)
3. 第三方開源框架(比如bootstrap,可以很好的支持瀏覽器的響應(yīng)式布局)
有哪些響應(yīng)式前端框架?Foundation、skeljs、Grid System、Bootstrap
14、請(qǐng)簡(jiǎn)述對(duì)MVVM框架技術(shù)的了解,有哪些主流的MVVM框架?
MVVM是Model-View-ViewModel的縮寫。mvvm是一種設(shè)計(jì)思想。Model 層代表數(shù)據(jù)模型,也可以在Model中定義數(shù)據(jù)修改和操作的業(yè)務(wù)邏輯;View 代表UI 組件,它負(fù)責(zé)將數(shù)據(jù)模型轉(zhuǎn)化成UI 展現(xiàn)出來(lái),ViewModel 是一個(gè)同步View 和 Model的對(duì)象。
主流的MVVM框架:?vue, avalon, angular?
15、隊(duì)列和棧的區(qū)別,是否了js解相關(guān)函數(shù)?
隊(duì)列是先進(jìn)先出,有出口和入口
棧就像一個(gè)箱子,先進(jìn)后出
隊(duì)列實(shí)現(xiàn):
shift() : 刪除集合中第一個(gè)元素,并返回這個(gè)元素的值
unshift() :在集合開頭添加新元素(一個(gè)或多個(gè)均可),并返回新的集合的長(zhǎng)度
堆棧實(shí)現(xiàn):
pop() :刪除集合的最后一個(gè)元素,并返回元素的值
push() :將元素添加到集合的結(jié)尾
16、用js編寫函數(shù),確定一個(gè)字符串是不是回文
17、用js編寫斐波那契數(shù)列(1、1、2、3、5、8、13、21、34、···)的計(jì)算函數(shù)
斐波那契數(shù)列,又稱黃金分割數(shù)列,指的是這樣一個(gè)數(shù)列:1、1、2、3、5、8、13、21、……在數(shù)學(xué)上,斐波納契數(shù)列以如下被以遞歸的方法定義:F0=0,F(xiàn)1=1,F(xiàn)n=F(n-1)+F(n-2)(n>=2,n∈N*)。