常見的ie6?的bug:內(nèi)部盒模型超出父級時盏混,父級被撐大解決方法:父標(biāo)簽使用overflow:hidden?; li之間會有間距?解決方法:float: left;?img于塊元素中贬派,底邊多出空白?解決方法:父級設(shè)置overflow: hidden;
什么時候要清除浮動礼旅?那種清除浮動方式最好:在css中任何元素都可以浮動秸滴,浮動元素會脫離標(biāo)準(zhǔn)流,清除浮動的方式:額外標(biāo)簽法辫樱,溢出隱藏法簇宽,偽元素法,雙偽元素法
Flex布局是什么:display:flex是彈性布局婆跑;
如何測試移動端頁面:谷歌瀏覽器手機(jī)開發(fā)模式此熬;
如何居中div,如何居中一個浮動元素,一個絕對定位的div居中:普通居中:margin: 0 auto ?父級設(shè)置相對定位滑进,子級position:absolute;left: 50%;transform: translateX(-50%);
全屏滾動的原理是什么犀忱?用到css哪些屬性?那個插件:所謂全屏滾動扶关,就是網(wǎng)頁的一個模塊占據(jù)一屏的寬高峡碉;動畫的屬性;fullpage插件驮审;
Css3有哪些新屬性:video視頻 ?audio音頻 rotate旋轉(zhuǎn) translate()位移scale()縮放
怎么讓不同高度的div垂直居中:父級設(shè)置相對定位鲫寄,子級position:absolute;left: 50%;transform: translateY(-50%);
移動端適配的原理,能用什么方式適配:使用rem單位來做網(wǎng)頁適配;
Css優(yōu)化提高性能的方法有哪些疯淫,語義化是指:慎重使用高性屬性:浮動地来、定位;充分利用css繼承屬性熙掺,減少代碼量未斑;?抽象提取公用樣式,減少代碼量币绩;?語義化:該用什么標(biāo)簽就用什么標(biāo)簽蜡秽;
在網(wǎng)頁中的字體應(yīng)使用奇數(shù)還是偶數(shù):偶數(shù)?比例關(guān)系ui設(shè)計緣故 ie解析緣故;
Zepto的理解:zepto號稱迷你版jQuery缆镣,并且成為移動端dom操作庫的首選芽突;
常見的jS框架有哪些:Zepto.js ?bootstrap;
添加?刪除替換插入到某個節(jié)點(diǎn)的方法:document.createElement(); ?創(chuàng)建元素
document.createTextNode();//創(chuàng)建文本節(jié)點(diǎn)???appendChild() ?添加removeChild() 移除?replaceChild() ?替換insertBefore()?插入
為什么需要寫:它是指示web瀏覽器關(guān)于頁面使用哪個 HTML 版本進(jìn)行編寫的指令。
請描述一下?cookies董瞻,sessionStorage 和?localStorage 的區(qū)別寞蚌?Cookies是服務(wù)器在本地機(jī)器上存儲的小段文本田巴,LocalStorage:瀏覽器關(guān)閉了數(shù)據(jù)仍然可以保存下來,并可用于所有同源(相同的域名挟秤、協(xié)議和端口)窗口(或標(biāo)簽頁)永久存儲壹哺,永不失效,除非手動刪除sessionStorage:數(shù)據(jù)存儲在窗口對象中艘刚,窗口關(guān)閉后對應(yīng)的窗口對象消失管宵,存儲的數(shù)據(jù)也會丟失。就是瀏覽器窗口關(guān)閉就失效了攀甚。
如何實(shí)現(xiàn)瀏覽器內(nèi)多個標(biāo)簽的通信:localstorge在一個標(biāo)簽頁里被添加箩朴、修改或刪除時,都會觸發(fā)一個storage事件云稚,通過在另一個標(biāo)簽頁里監(jiān)聽storage事件隧饼,即可得到localstorge存儲的值,實(shí)現(xiàn)不同標(biāo)簽頁之間的通信静陈。
js中實(shí)現(xiàn)繼承的原理:類繼承燕雁,原型繼承,混合式繼承
apply:調(diào)用一個對象的一個方法鲸拥,用另一個對象替換當(dāng)前對象拐格。最多只能有兩個參數(shù)
call:調(diào)用一個對象的一個方法,用另一個對象替換當(dāng)前對象刑赶。它可以接受多個參數(shù)
typeof:獲取一個變量是否存在
強(qiáng)制類型轉(zhuǎn)換和隱式類型轉(zhuǎn)換:通過String()捏浊,Number(),Boolean()函數(shù)強(qiáng)制轉(zhuǎn)換撞叨;字符串加數(shù)字,數(shù)字就會轉(zhuǎn)成字符串金踪。.數(shù)字減字符串,字符串轉(zhuǎn)成數(shù)字牵敷。
null和undefined 有什么區(qū)別:undefined看作是空的變量胡岔,而null看作是空的對象。
eval()函數(shù)可計算某個字符串枷餐,并執(zhí)行其中的的JavaScript代碼靶瘸。
new:創(chuàng)建了一個空對象,并且this變量引用該對象,?屬性和方法被加入到this引用的對象中毛肋;
原生Ajax狀態(tài)值及狀態(tài)碼:200成功?304客戶端已經(jīng)執(zhí)行了GET怨咪,但文件未變化
400錯誤請求,如語法錯誤?0 - (未初始化)還沒有調(diào)用send()方法1 - (載入)已調(diào)用send()方法润匙,正在發(fā)送請求2 - (載入完成)send()方法執(zhí)行完成诗眨,3 - (交互)正在解析響應(yīng)內(nèi)容4 - (完成)響應(yīng)內(nèi)容解析完成,可以在客戶端調(diào)用了
Jsonp:不支持POST跨域趁桃,所以會自動轉(zhuǎn)成GET動態(tài)添加一個標(biāo)簽辽话,而script標(biāo)簽的src屬性是沒有跨域的限制的
new object()的原理:創(chuàng)建一個Object對象并將其傳入Object()函數(shù)中肄鸽。
項(xiàng)目的性能優(yōu)化:從用戶角度而言卫病,優(yōu)化能夠讓頁面加載得更快油啤、對用戶的操作響應(yīng)得更及時,能夠給用戶提供更為友好的體驗(yàn)蟀苛。從服務(wù)商角度而言益咬,優(yōu)化能夠減少頁面請求數(shù)、或者減小請求所占帶寬帜平,能夠節(jié)省可觀的資源幽告。
New 實(shí)例化對象三部曲:創(chuàng)建一個新對象;把這個新對象的__proto__指向構(gòu)造函數(shù)的prototype屬性裆甩;把構(gòu)造函數(shù)中的this上的屬性全部添加到新對象冗锁;返回這個新對象
this的理解什么時候用:js的一個關(guān)鍵字。它代表函數(shù)運(yùn)行時嗤栓,自動生成的一個內(nèi)部對象冻河,只能在函數(shù)內(nèi)部使用,那就是this指的是茉帅,調(diào)用函數(shù)的那個對象叨叙。作為構(gòu)造函數(shù)調(diào)用this就指這個新對象。?apply調(diào)用堪澎,
this指的就是這第一個參數(shù)擂错。
復(fù)制節(jié)點(diǎn),查找節(jié)點(diǎn):?克隆節(jié)點(diǎn)clonechild 查找節(jié)點(diǎn):getElementsByName()
Src和href的區(qū)別:src用于替換當(dāng)前元素樱蛤,href用于在當(dāng)前文檔和引用資源之間確立聯(lián)系钮呀。
indexOf()方法:可返回某個指定的字符串值在字符串中首次出現(xiàn)的位置。
數(shù)組的去重:
js將時間戳轉(zhuǎn)yyyy-mm-dd
Js的垃圾回收機(jī)制:
JS的垃圾回收機(jī)制是為了以防內(nèi)存泄漏昨凡,內(nèi)存泄漏的含義尋找到不再使用的變量爽醋,并釋放掉它們所指向的內(nèi)存。標(biāo)記清除土匀。引用計數(shù)子房。
?
創(chuàng)建AJAX 的過程:
screen對象用于獲取用戶的屏幕信息。
Navigator對象?通常用于檢測瀏覽器與操作系統(tǒng)的版本
history對象記錄了用戶曾經(jīng)瀏覽過的頁面
location用于獲取或設(shè)置窗體的URL
instanceof就是判斷一個實(shí)例是否屬于某種類型
constructor:返回當(dāng)前的構(gòu)造函數(shù)
post和get區(qū)別:get是從服務(wù)器上獲取數(shù)據(jù)就轧,post是向服務(wù)器傳送數(shù)據(jù)证杭。
Inset:box-shadow 盒子內(nèi)陰影
display:table-cell多行文字垂直居中
float: none:取消元素浮動
刪除元素:
增加元素:
替換元素
?
冒泡排序
循環(huán)輸出1-100的和
循環(huán)輸出1-100的乘積
輸出1-100能被2整除的數(shù)
javaScript中如何檢測一個變量是一個String類型:typeof(obj) === "string"
去除空格:$.trim()方法;
this的典型應(yīng)用:
Typeof:用來檢測基本數(shù)據(jù)類型;
Indexof:某個指定的字符串值在字符串中首次出現(xiàn)的位置
統(tǒng)計字符串中字母個數(shù)或統(tǒng)計最多字母數(shù):
正則表達(dá)式郵箱驗(yàn)證:
Display:flex布局實(shí)例:
遍歷對象的屬性:
Css中的偽類和偽元素:
事件委托是利用冒泡原理實(shí)現(xiàn)的妒御;
js中的循環(huán)語句可分為三種:1.while解愤;2.do……while;3.for
圖片垂直對齊:?vertical-align:middle;
只有0代表false
eval()函數(shù)可計算某個字符串乎莉,并執(zhí)行其中的的JavaScript 代碼
localStorage常用的方法:localStorage.clear()??localStorage.setItem()?localStorage.getItem()?localStorage.removeItem()
JSON的理解:它是一種數(shù)據(jù)交換的文本格式送讲,而不是一種編程語言奸笤,用于讀取結(jié)構(gòu)化數(shù)據(jù);
js中的3種彈出式消息提醒:alert("警告")??confirm("確認(rèn)");prompt("信息輸入")
請簡述jsnp的跨域原理:同源策略是瀏覽器的一種安全策略,所謂同源是指哼鬓,域名监右,協(xié)議,端口號完全相同异希,不同源則為跨域健盒;ajax請求受同源策略影響,不允許進(jìn)行跨域請求称簿,而script標(biāo)簽src屬性中的鏈接卻可以訪問跨域的js腳本扣癣,利用這個特性,服務(wù)端不再返回JSON格式的數(shù)據(jù)憨降,而是返回一段調(diào)用某個函數(shù)的js代碼父虑,在src中進(jìn)行了調(diào)用,這樣實(shí)現(xiàn)了跨域授药。
去掉一個字符(變量)的重復(fù)元素:
實(shí)現(xiàn)文本溢出省略號:
閉包就讀取其他函數(shù)內(nèi)部變量的函數(shù)士嚎;
閉包案例:
引用類型數(shù)據(jù):?比如:Object、Array 烁焙、Function 航邢、Data等;
javaScript之split與join的區(qū)別?:split()用于分割字符串骄蝇,返回一個數(shù)組膳殷;join()用于連接多個字符或字符串,返回值為一個字符串九火;
如何判斷一個變量是否是數(shù)組:instanceof赚窃;
點(diǎn)透問題:有時候用戶只是想滑動屏幕,卻觸發(fā)了touchstart事件岔激;不要混用touch和click勒极,只用touch,只用click虑鼎;
Es6知識點(diǎn):
let和var的區(qū)別:let有花括號作用域辱匿,但是沒有變量的提升;
Const:是常量,不可以重新賦值
=>函數(shù):是沒有this炫彩,當(dāng)箭頭函數(shù)外部有 function的時候
模塊化的規(guī)范是什么:
npm是什么:包管理工具匾七,以jQuery為例子,可以遠(yuǎn)程使用npm直接下載江兢,也可以把自己的代碼推動送出
CORS:是W3C出的一個標(biāo)準(zhǔn)昨忆,其思想是使用自定義的HTTP頭部讓瀏覽器與服務(wù)器進(jìn)行溝通,從而決定請求或響應(yīng)是應(yīng)該成功杉允,還是應(yīng)該失敗邑贴。因此席里,要想實(shí)現(xiàn)CORS進(jìn)行跨域,需要服務(wù)器進(jìn)行一些設(shè)置拢驾,同時前端也需要做一些配置和分析奖磁。本文簡單的對服務(wù)端的配置和前端的一些設(shè)置進(jìn)行分析。
獲取url中的參數(shù):
字符串的截榷揽酢:
判斷數(shù)組有哪些方法:??a instanceof Array??????a.constructor == Array
深拷貝案例:
繼承的方法:
前端mvvm和后端的mvc概念:
前端: ?m(渲染的數(shù)據(jù)) ??v(頁面結(jié)構(gòu)) ??vm(調(diào)度者) vm提供了雙向數(shù)據(jù)綁定
后端:m(模型) ?v(試圖) ???c(控制器)
說一說CSS3中的動畫署穗,animation中可以取哪些值 :
vue中的數(shù)據(jù)雙向綁定是如何實(shí)現(xiàn)的:
登錄狀態(tài)怎么使用cookie保持寥裂,最好的方法是什么:
手寫代碼判斷是否是瀏覽器環(huán)境: