1.h5和css3的新特性
h5新特性:語義化標簽[footer,header,section,nav];鲫竞;
? ? 表單:type值[date,calendar];新增表單屬性[required,min,max]苇本;淫茵;
? ? 音頻視頻:audio美莫、video页眯;;? canvas厢呵;窝撵;? 地理定位;襟铭;拖拽碌奉;;本地存儲
? ?h5新事件:onresize調(diào)整窗口大小運行腳本寒砖,ondrag拖動元素運行腳本赐劣,onplay開始播放運行腳本,onpause暫停時運行腳本
css3新特性:選擇器[偽類{向某些選擇器添加特殊的效果(沒有創(chuàng)建新元素)}和偽元素{創(chuàng)建了html中不存在的元素入撒,用于將特殊的效果添加到某些選擇器}]隆豹;
????背景和邊框;文本效果茅逮;
2D/3D轉(zhuǎn)換璃赡;2D轉(zhuǎn)換(transform[translate()元素從其當前位置移動,根據(jù)給定的left(x坐標)和top(y坐標)位置參數(shù)])
動畫/過渡献雅;
[面試過程中碉考,對方提了很多關(guān)于動畫和轉(zhuǎn)換的知識點,所以把這些基礎(chǔ)的再重新學(xué)一遍挺身,“溫故而知新”果然是老前輩們傳下來的寶~??]
2.px侯谁,em,rem之間的區(qū)別
px:絕對單位章钾,頁面按精確像素顯示墙贱,不隨其他元素的變化而變化;
em:相對單位贱傀,基準點是父節(jié)點字體的大胁移病;
rem:相對單位府寒,相對HTML根元素魁衙;
px和%可以充多更多屬性的單位,而em和rem是字體大小的單位株搔,一般來說1em=1rem=100%=16px.
3.如何隱藏一個元素(至少寫出三種方式)剖淀?
display: none;不占空間;visibility:hidden;占據(jù)文檔位置
opacity: 0;? transparent纤房;rgba()
4.cookie纵隔,sessionStorage,localStorage之間的區(qū)別
????1>生命周期:localStorage本地存儲是永久的炮姨;sessionStorage會話存儲生命周期為當前窗口或標簽頁捌刮,一旦關(guān)閉,那么數(shù)據(jù)就被清空剑令;cookie只在設(shè)置的cookie過期時間之前有效糊啡,即使窗口或瀏覽器關(guān)閉
? ? 2>作用域不同:不同瀏覽器無法共享localStorage或sessionStorage之間的信息
? ? 3>相同瀏覽器的不同頁面間可以共享相同的localStorage(頁面屬于相同域名和協(xié)議,主機和端口)吁津;不同頁面或標簽頁面無法共享sessionStorage數(shù)據(jù)
????4>存儲大信镄睢:cookie是4KB,而另外兩個是5M
? ? 5>存儲位置:cookie的作用是與服務(wù)器進行交互碍脏,作為http規(guī)范的一部分梭依;localStorage和sessionStorage都保存在客戶端,不與服務(wù)器進行交互通信
? ? 6>存儲內(nèi)容類型:cookie只能存儲String類型的數(shù)據(jù)典尾,localStorage和sessionStorage只能存儲字符串類型役拴,對于復(fù)雜的可以使用json對象的stringfy和parse來處理
? ? 7>應(yīng)用場景:localStorage常用于長期登錄(+判斷用戶是否已登錄+保存用戶在電商網(wǎng)站的購物車信息),適合長期保存在本地的數(shù)據(jù)钾埂;sessionStorage敏感賬號一次性登錄河闰;保存登錄信息(比如登錄某個網(wǎng)站可以看到“記住密碼”科平,這通常就是通過在 Cookie 中存入一段辨別用戶身份的數(shù)據(jù)來實現(xiàn)的)
5.同步和異步的區(qū)別
同步方法調(diào)用一旦開始,調(diào)用者必須等到方法調(diào)用返回后姜性,才能繼續(xù)后續(xù)的行為瞪慧;
異步方法調(diào)用更像是一個消息傳遞,一旦開始部念,方法調(diào)用就會立即返回弃酌,調(diào)用者就可以繼續(xù)后續(xù)的操作。而異步方法通常在另外一個線程中儡炼,“真實”地執(zhí)行者妓湘,整個過程,不會阻礙調(diào)用者的工作
【記一段話:只看概念會很清楚是什么乌询,但是突然遇到的時候榜贴,總是會弄混,因此實際過程中要先想清楚什么情況下的程序是同步或者異步:正常的B/S都是同步的楣责,而ajax在不加async:false(ajax默認情況下是async:true)時則是異步的竣灌,當多個線程同時訪問并修改一個方法時,可能會出現(xiàn)線程安全問題秆麸,所以要在方法或者類上加synchronized修飾詞或者塊將異步的變成同步的】
異步請求實現(xiàn)方式:
1》基于js的原生方法:創(chuàng)建XMLHttpRequest對象
基于jquery的Ajax方法初嘹;vue-axios(promise)
6.什么是跨域,解決辦法
先了解什么是同源沮趣,即同一協(xié)議(http/https)屯烦,同一域名(www.baidu.com/baidu.com),同一端口(:8080/80)房铭。
當頁面執(zhí)行一個腳本時會檢查訪問的資源是否同源驻龟,如果非同源,那么請求數(shù)據(jù)時缸匪,瀏覽器會在控制臺中報一個異常翁狐,提示拒絕訪問。
跨域:指的是從一個域名去請求另外一個域名的資源凌蔬,即跨域名請求露懒!只要協(xié)議、域名砂心、端口有任何一個不同懈词,就被當做跨域。
跨域解決方案
通過jsonp跨域
document.domain + iframe跨域
location.hash + iframe
window.name + iframe跨域
postMessage跨域
跨域資源共享(CORS)
nginx代理跨域
nodejs中間件代理跨域
WebSocket協(xié)議跨域
【具體了解程度還是要自己擼代碼的辩诞,那我下去擼了~??】