常用前端知識積累

閉包的理解

使用閉包主要是為了設(shè)計私有的方法和變量。

優(yōu)點是可以避免全局變量的污染,

缺點是閉包會常駐內(nèi)存,會增大內(nèi)存使用量脊串,使用不當很容易造成內(nèi)存泄露

Cookie

第一:每個特定的域名下最多生成20個 cookie

1.IE6或更低版本最多20個 cookie

2.IE7和之后的版本最后可以有50個 cookie。

3.Firefox 最多50個 cookie

4.chrome 和 Safari 沒有做硬性限制

第二:cookie 的最大大約為4096字節(jié)清钥,為了兼容性琼锋,一般不能超過4095字節(jié)

優(yōu)點:極高的擴展性和可用性

1.通過良好的編程,控制保存在 cookie 中的 session 對象的大小祟昭。

2.通過加密和安全傳輸技術(shù)(SSL)缕坎,減少cookie被破解的可能性。

3.只在 cookie 中存放不敏感數(shù)據(jù)篡悟,即使被盜也不會有重大損失谜叹。

4.控制 cookie 的生命期匾寝,使之不會永遠有效。偷盜者很可能拿到一個過期的cookie荷腊。

缺點:

1.`Cookie` 數(shù)量和長度的限制艳悔。每個 domain 最多只能有20條cookie,每個 cookie 長度不能超過4KB女仰,否則會被截掉猜年。

2.安全性問題。如果 cookie 被人攔截了疾忍,那人就可以取得所有的 session 信息乔外。即使加密也與事無補,因為攔截者并不需要知道 cookie 的意義一罩,他只要原樣轉(zhuǎn)發(fā) cookie 就可以達到目的了袁稽。

3.有些狀態(tài)不可能保存在客戶端。例如擒抛,為了防止重復提交表單,我們需要在服務(wù)器端保存一個計數(shù)器补疑。如果我們把這個計數(shù)器保存在客戶端歧沪,那么它起不到任何作用。

瀏覽器本地存儲

sessionStorage

本地存儲一個會話 (session) 中的數(shù)據(jù)莲组,這些數(shù)據(jù)只有在同一個會話中的頁面才能訪問并且當會話結(jié)束后數(shù)據(jù)也隨之銷毀诊胞。

因此 sessionStorage 不是一種持久化的本地存儲,僅僅是會話級別的存儲

localStorage

用于持久化的本地存儲锹杈,除非主動刪除數(shù)據(jù)撵孤,否則數(shù)據(jù)是永遠不會過期的

web storage 和 cookie 的區(qū)別

Cookie 的大小是受限的,并且每次你請求一個新的頁面的時候 Cookie 都會被發(fā)送過去竭望,這樣無形中浪費了帶寬邪码,另外cookie還需要指定作用域,不可以跨域調(diào)用

cookie 需要前端開發(fā)者自己封裝 setCookie咬清, getCookie

link 和 @import 的區(qū)別是

(1) link 屬于 HTML 標簽闭专,而 @import 是 CSS 提供的;

(2) 頁面被加載的時,link會同時被加載旧烧,而 @import 引用的CSS會等到頁面被加載完再加載;

(3) import只在IE5以上才能識別影钉,而 link 是 HTML 標簽,無兼容問題;

(4) link方式的樣式的權(quán)重 高于 @import 的權(quán)重.

box-sizing 屬性

box-sizing 屬性主要用來控制元素的盒模型的解析模式掘剪。默認值是content-box

content-box: 讓元素維持 W3C 的標準盒模型平委。元素的寬度/高度由 border? +? padding? +? content 的寬度/高度決定,設(shè)置 width/height 屬性指的是content部分的寬/高

border-box:讓元素維持IE傳統(tǒng)盒模型(IE6以下版本和IE6~7的怪異模式)夺谁。設(shè)置 width/height 屬性指的是 border? +? padding? +? content

BFC 規(guī)范的理解

摘自鏈接描述

(https://developer.mozilla.org/zh-CN/docs/Web/Guide/CSS/Block_formatting_context)

級格式化上下文廉赔,是CSS中的一個渲染機制肉微,BFC就相當于一個盒子,內(nèi)部的元素與外界的元素互不干擾昂勉。它不會影響外部的布局浪册,外部的布局也不會影響到它.

創(chuàng)建 BFC

float的值不是none

position 的值不是 static 或者 relative

display 的值是 inline-block, table-cell, flex, table-caption 或者 inline-flex

overflow 的值不是 visible

BFC 的特性

- 內(nèi)部的 BOX 會在垂直方向上一個接一個的放置

- 于同一個 BFC 的倆個相鄰的 BOX 的 margin 會發(fā)生重疊,與方向無關(guān)岗照。

- 每個元素的左外邊距與包含塊的左邊界相接觸(從左到右)村象,即使浮動元素也是如此

- BFC 的區(qū)域不會與 float 的元素區(qū)域重疊

- 計算 BFC 的高度時,浮動子元素也參與計算

- BFC就是頁面上的一個隔離的獨立容器攒至,容器里面的子元素不會影響到外面的元素厚者,反之亦然

BFC 在布局中的應(yīng)用

防止 margin 重疊:

要阻止 margin 重疊,只要將倆個元素別放在一個BFC中即可

浮動相關(guān)問題

使得父元素包含子元素迫吐,常見的方式是為父元素設(shè)置overflow:hidden或者浮動父元素库菲。根本原因在于創(chuàng)建 BFC 的元素,子浮動元素也會參與其高度計算志膀,即不會產(chǎn)生高度塌陷問題

多欄布局的一種方式

與浮動元素相鄰的已生成 BFC 的元素不能與浮動元素互相覆蓋熙宇。利用該特性可以作為多欄布局的一種實現(xiàn)方式.

特點在于左右倆欄的寬度固定,中間欄可以根據(jù)瀏覽器寬度自適應(yīng)

null和undefined的區(qū)別

undefined

undefined 是一個表示”無”的原始值溉浙,轉(zhuǎn)為數(shù)值時為 NaN

變量被聲明了烫止,但沒有賦值時,就等于 undefined

調(diào)用函數(shù)時戳稽,應(yīng)該提供的參數(shù)沒有提供馆蠕,該參數(shù)等于 undefined

對象沒有賦值的屬性,該屬性的值為 undefined

函數(shù)沒有返回值時惊奇,默認返回 undefined

null

null 是一個表示”無”的對象互躬,轉(zhuǎn)為數(shù)值時為0

作為函數(shù)的參數(shù),表示該函數(shù)的參數(shù)不是對象

作為對象原型鏈的終點

documen.write 和 innerHTML 的區(qū)別

document.write 只能重繪整個頁面

innerHTML 可以重繪頁面的一部分

HTML5的離線存儲

原理

HTML5 的離線存儲是基于一個新建的 .appcache 文件的緩存機制(不是存儲技術(shù))颂郎,通過這個文件上的解析清單離線存儲資源吼渡,這些資源就會像cookie 一樣被存儲了下來。之后當網(wǎng)絡(luò)在處于離線狀態(tài)下時祖秒,瀏覽器會通過被離線存儲的數(shù)據(jù)進行頁面展示

使用

在文檔的 html 標簽設(shè)置 manifest 屬性诞吱,如 manifest=”/offline.appcache”

在項目中新建 manifest 文件,manifest 文件的命名建議:xxx.appcache

在 web 服務(wù)器配置正確的 MIME-type竭缝,即 text/cache-manifest

css各種居中

水平居中

inline-block配合text-align

.parent {

????text-align: center;

}

.child {

????display: inline-block;

}

table配合margin

.child {

????display:table;

????margin: 0auto;

}

abasolute配合transform

.parent{

????position:relative;

}

.child{

????position:absolute;

????left:50%;

????transform: translateX(-50%);

}

垂直居中

table-cell配合vertical-align

.parent{

????display: table-cell;

????vertical-align:middle;

}

absolute配合tranform

.parent{

????position:relative;

}

.child{

????position:absolute;

????top: 50%;

????transform: translateY(-50%);

}

水平+垂直居中

inline-block配合text-align加上table-cell配合vertical-align

.parent{

????display: table-cell;

????vertical-align:middle;

????text-align:center;

}

.child{

????display: inline-block;

}

absolute配合transform

.parent{

????position: relative;

}

.child{

????position: absolute;

????left: 50%;

????top: 50%;

????transform: translate(-50%,-50%);

}

全能的flex

水平居中

.parent{

????display: flex;

????justify-content: center;

}

垂直居中

.parent{

????display: flex;

????align-items: center;

}

水平垂直居中

.parent{

????display: flex;

????justify-content: center;

????align-items: center;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末房维,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子抬纸,更是在濱河造成了極大的恐慌咙俩,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異阿趁,居然都是意外死亡膜蛔,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門脖阵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來皂股,“玉大人,你說我怎么就攤上這事命黔∥啬牛” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵悍募,是天一觀的道長蘑辑。 經(jīng)常有香客問我,道長坠宴,這世上最難降的妖魔是什么洋魂? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮喜鼓,結(jié)果婚禮上副砍,老公的妹妹穿的比我還像新娘。我一直安慰自己庄岖,他們只是感情好址晕,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著顿锰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪启搂。 梳的紋絲不亂的頭發(fā)上硼控,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天,我揣著相機與錄音胳赌,去河邊找鬼牢撼。 笑死,一個胖子當著我的面吹牛疑苫,可吹牛的內(nèi)容都是我干的熏版。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼捍掺,長吁一口氣:“原來是場噩夢啊……” “哼撼短!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起挺勿,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤曲横,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體禾嫉,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡灾杰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了熙参。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片艳吠。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖孽椰,靈堂內(nèi)的尸體忽然破棺而出昭娩,到底是詐尸還是另有隱情,我是刑警寧澤弄屡,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布题禀,位于F島的核電站,受9級特大地震影響膀捷,放射性物質(zhì)發(fā)生泄漏迈嘹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一全庸、第九天 我趴在偏房一處隱蔽的房頂上張望秀仲。 院中可真熱鬧,春花似錦壶笼、人聲如沸神僵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽保礼。三九已至,卻和暖如春责语,著一層夾襖步出監(jiān)牢的瞬間炮障,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工坤候, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留胁赢,地道東北人。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓白筹,卻偏偏與公主長得像智末,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子徒河,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案系馆? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,728評論 1 92
  • 移動開發(fā)基本知識點 一.使用rem作為單位 html { font-size: 100px; } @media(m...
    橫沖直撞666閱讀 3,453評論 0 6
  • <a name='html'>HTML</a> Doctype作用?標準模式與兼容模式各有什么區(qū)別? (1)顽照、<...
    clark124閱讀 3,456評論 1 19
  • 一大早它呀,懷拽著忐忑、豁出去的心態(tài)上了秤,讓我萬萬沒想到的是纵穿,體重竟然還是56.1下隧,我簡直懷疑這個秤有問題了,怎么會...
    6830e983870f閱讀 171評論 0 0
  • 梔子吐香籠滿城 風來櫻短苦雨更 換得綠蔭草長時 碧水楊波荷花盛
    RepoMen閱讀 198評論 0 1