面試知識(shí)1

Paste_Image.png
Paste_Image.png

標(biāo)簽語(yǔ)義化

去掉或者丟失樣式的時(shí)候能夠讓頁(yè)面呈現(xiàn)出清晰的結(jié)構(gòu)
有利于SEO:和搜索引擎建立良好溝通,有助于爬蟲抓取更多的有效信息:爬蟲依賴于標(biāo)簽來確定上下文和各個(gè)關(guān)鍵字的權(quán)重
方便其他設(shè)備解析(如屏幕閱讀器、盲人閱讀器、移動(dòng)設(shè)備)以意義的方式來渲染網(wǎng)頁(yè)
便于團(tuán)隊(duì)開發(fā)和維護(hù),語(yǔ)義化更具可讀性,是下一步網(wǎng)頁(yè)的重要?jiǎng)酉?,遵循W3C標(biāo)準(zhǔn)的團(tuán)隊(duì)都遵循這個(gè)標(biāo)準(zhǔn),可以減少差異化

塊級(jí)標(biāo)簽,行內(nèi)標(biāo)簽

塊級(jí):div, ul, li, ol, table, th, tbody, tfoot, tr, pre, fieldset, form, h1-h6, p等
a, abbr, b, br, code, em, img, input, label, select, textarea, strong等

盒子模型(IE盒子模型的區(qū)別)
總寬度 = margin+padding+border+content,IE的盒子模型的寬度不計(jì)padding和border
css3的box-sizing
屬性,詳見https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizingcontent-box,border和padding不計(jì)算入width之內(nèi)
border-box,border和padding計(jì)算入width之內(nèi)

樣式繼承
可繼承的樣式font-size
font-family
color
text-indent

CSS sprite
減少請(qǐng)求

link和@import的區(qū)別

link屬于XHTML標(biāo)簽,而@import是CSS提供的
頁(yè)面被加載的時(shí),link會(huì)同時(shí)被加載,而@import引用的CSS會(huì)等到頁(yè)面被加載完再加載
@import只在IE5以上才能識(shí)別,而link是XHTML標(biāo)簽,無兼容問題
link方式的樣式的權(quán)重 高于@import的權(quán)重

CSS優(yōu)化

嵌套層級(jí)不要太深,一般三層最多
css解析從右向左,所以最右邊的應(yīng)該是相對(duì)少一點(diǎn)
html用了base64的img的話,并不會(huì)緩存起來,可以將這個(gè)base64的圖片放在css文件里,css會(huì)緩存,圖片就緩存起來了
盡量不用后代元素選擇器,最右邊的一層不要是標(biāo)簽,尤其是像div這種非常常用的標(biāo)簽
多使用css的繼承,而不是每一次都書寫時(shí)都全部重寫一遍。寫多個(gè)css屬性時(shí),能連在一起寫的就連在一起寫

預(yù)處理器

Sass
Ruby Sass 與 Lib Sass 的區(qū)別
Less
Stylus

嚴(yán)格模式

'use strict'
不能使用eval()
抑制this的行為
不允許讀寫eval和arguments的值
不允許意外創(chuàng)建全局變量

變量

使用var定義的全局變量不能使用delete刪除
無var創(chuàng)建的全局變量可以使用delete刪除
隱式類型轉(zhuǎn)換
數(shù)字與字符串相加,結(jié)果為字符串
數(shù)字與字符串相減,結(jié)果為數(shù)字
比較變量的是否相同時(shí),要采用===,==會(huì)發(fā)生隱式類型轉(zhuǎn)換
NaN與任何變量不相等

類型檢測(cè)

typeof
instanceof
constructor
Object.prototype.toString.apply()

作用域

全局作用域
函數(shù)作用域

數(shù)組

數(shù)組的類型檢測(cè)
數(shù)組的方法
slice()
map()
every()
some()
filter()

閉包

概念
作用
創(chuàng)建匿名執(zhí)行函數(shù)
緩存變量,防止被垃圾回收
實(shí)現(xiàn)函數(shù)的封裝
應(yīng)用場(chǎng)景
內(nèi)部函數(shù)訪問外部函數(shù)的變量
使用閉包代替全局變量
封裝相關(guān)功能
回調(diào)函數(shù)
創(chuàng)建私有變量和公有變量
特性
經(jīng)典例子:列表點(diǎn)擊,彈出每一個(gè)的index

/* 錯(cuò)誤做法 */var elems = document.getElementById('links').getElementsByTagName('li');for ( var i = 0; i < elems.length; i++ ) { elems[i].addEventListener('click', function ( event ) { event.preventDefault(); alert(i); }, false);}

/* 正確的做法,使用閉包 */var elems = document.getElementById('links').getElementsByTagName('li');for ( var i = 0; i < elems.length; i++ ) { (function ( index ) { elems[i].addEventListener('click', function ( event ) { event.preventDefault(); alert(index); }, false); })( i );}

數(shù)組去重
最簡(jiǎn)單的方法
function removeDuplicate( arr ) { var len = arr.length, temp = []; for ( var i = 0; i < len; i+=1 ) { if ( temp.indexOf(arr[i]) === -1 ) { temp.push(arr[i]); } } return temp;}

冒泡排序
function bubbleSort( arr ) { var len = arr.length, temp; for ( var i = 0; i < len - 1; i ++ ) { for ( var j = 0; j < len - 1 - i; j++ ) { if ( arr[j] > arr[j+1] ) { temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } return arr;}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.什么是HTML5? HTML5是最新的HTML標(biāo)準(zhǔn),他的主要目標(biāo)是提供所有內(nèi)容而不需要任何的像flash,si...
    sakatayui醬閱讀 228評(píng)論 0 1
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,899評(píng)論 0 33
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚_t_閱讀 34,643評(píng)論 18 399
  • <a name='html'>HTML</a> Doctype作用?標(biāo)準(zhǔn)模式與兼容模式各有什么區(qū)別? (1)、<...
    clark124閱讀 3,818評(píng)論 1 19
  • 飛春讀傳上網(wǎng)扒了扒,終于知道為啥朝鮮軍隊(duì)閱兵走正步時(shí),會(huì)是一跳一跳的。 閱兵作為一種儀式,主要是用來檢閱武裝力量的...
    飛春讀傳閱讀 4,250評(píng)論 0 0

友情鏈接更多精彩內(nèi)容