前端面試基礎(chǔ)整理

  1. 行內(nèi)元素與塊級元素的區(qū)別
    行內(nèi)元素設(shè)置width奕污、height無效,margin液走、padding僅左右有效菊值,上下無效。
  2. 前端的三層結(jié)構(gòu)
    結(jié)構(gòu)層html育灸,表示層css,行為層js
  3. CSS的引入方式昵宇,區(qū)別是什么
    link和@import
  • 從屬關(guān)系:link是HTML提供的標簽磅崭,@import是CSS提供的語法規(guī)則
  • 加載順序:link在頁面加載過程中會和內(nèi)容同時加載出來,@import引入會在頁面加載完成后才被加載瓦哎。
  • 需要js控制DOM改變演示時只能使用link砸喻,DOM不能控制@import
  • link無兼容性問題,@import只在IE5以上才能識別
  • link樣式權(quán)重高于@import
  1. CSS選擇器有哪些
    id選擇器( # myid)
    類選擇器(.myclassname)
    標簽選擇器(div, h1, p)
    相鄰選擇器(h1 + p)
    子選擇器(ul > li)
    后代選擇器(li a)
    通配符選擇器( * )
    屬性選擇器
    偽類選擇器
  2. display:none和visibility:hidden的區(qū)別
    display:none隱藏對應(yīng)元素蒋譬,在文檔布局中不給它分配空間割岛,相當于不存在
    visibility:hidden隱藏對應(yīng)元素,但在文檔布局中仍保留原來的空間
  3. position的absolute與fixed共同點與不同點
    共同點:改變行內(nèi)元素的呈現(xiàn)方式犯助,讓元素脫離普通流癣漆,不占據(jù)空間
    不同點:absolute是根元素可以設(shè)置的,fixed的根元素固定為瀏覽器窗口
  4. 顯示
    block:像塊類型元素一樣顯示
    inline:像行內(nèi)元素一樣顯示
    inline-block:像行內(nèi)元素一樣顯示剂买,但內(nèi)容像塊類元素一樣顯示
    list-item:像塊類元素一樣顯示惠爽,并添加樣式列表標記
  5. absolute、fixed瞬哼、relative婚肆、static
    absolute:絕對定位,相對static以外的第一個祖先元素
    fixed:絕對定位坐慰,相對瀏覽器窗口
    relative:相對定位较性,相對普通流中 的位置
    static:默認值,沒有定位,處于正常流中
  6. CSS3中的新特性
    圓角border-radius
    陰影box-shadow
    文字陰影text-shadow
    線性漸變gradient
    旋轉(zhuǎn)transform
  7. 清除浮動技巧
  • 使用空標簽定義css clear:both;缺點添加了無意義的標簽
  • overflow:hidden;
  1. 減少頁面加載時間的方法
    壓縮CSS赞咙、JS文件
    優(yōu)化圖片
    圖片格式選擇
    優(yōu)化CSS
    標明寬高
    減少http請求
    減少DOM操作
  2. undefined和null的區(qū)別
    undefined表示無责循,null表示尚未存在
  • 變量聲明未賦值為undefined
  • 調(diào)用函數(shù),函數(shù)參數(shù)未提供為undefined
  • 函數(shù)沒返回值人弓,默認返回undefined
  • null系統(tǒng)會回收沼死,可用于釋放內(nèi)存
  1. 優(yōu)雅降級和漸進增強
    優(yōu)雅降級:最開始針對新式瀏覽器進行完整功能構(gòu)建,再對低版本瀏覽器進行兼容崔赌。
    漸進增強:針對低版本瀏覽器進行構(gòu)建意蛀,逐步添加新式瀏覽器才支持的功能,當瀏覽器支持時自動呈現(xiàn)并發(fā)揮作用健芭。
  2. 下面三條語句的區(qū)別
    function show(){}
    var show=function(){}
    var show=new Function()
    函數(shù)县钥,函數(shù)表達式,函數(shù)對象
  3. JS輸出數(shù)據(jù)的方式
    使用 window.alert() 彈出警告框
    使用 document.write() 方法將內(nèi)容寫到 HTML 文檔中
    使用 innerHTML 寫入到 HTML 元素
    使用 console.log() 寫入到瀏覽器的控制臺
  4. 下面的代碼輸出什么
var y = 1;
if (function f(){}) {
    y += typeof f;
}
console.log(y);//1undefined
var k = 1;
if (1) {
    eval(function f(){});
    k += typeof f;
}
console.log(k); //1undefined
var k = 1;
if (1) {
    function f(){};
    k += typeof f;
}
console.log(k); //1function
  1. JavaScript 中 undefined 和 not defined 的區(qū)別
    未聲明的變量直接使用會拋出異常var name is not defined慈迈,如果沒有異常處理若贮,代碼就會停止運行。
    但是使用typeof并不會產(chǎn)生異常痒留,會直接返回 undefined谴麦。
var x;// 聲明 x
console.log(x); //undefined 
console.log(typeof y); //undefined
console.log(z); //拋出異常:ReferenceError: z is not defined
  1. JavaScript怎么清空數(shù)組
var arr=['a','b','c']
//方法1
arr=[]
//方法2
arr.length = 0;
//方法3
arr.splice(0,arr.length)
  1. 判斷一個object是否是數(shù)組(array)
    方法1:使用 Object.prototype.toString精確判斷對象類型
function isArray(obj){
    return Object.prototype.toString.call( obj ) === '[object Array]';
}
console.log(Object.prototype.toString.call(123)) //[object Number]
console.log(Object.prototype.toString.call('123')) //[object String]
console.log(Object.prototype.toString.call(undefined)) //[object Undefined]
console.log(Object.prototype.toString.call(true)) //[object Boolean]
console.log(Object.prototype.toString.call({})) //[object Object]
console.log(Object.prototype.toString.call([])) //[object Array]
console.log(Object.prototype.toString.call(function(){})) //[object Function]

方法2:使用原型鏈

function isArray(obj){
    return obj.__proto__ === Array.prototype;
}
  1. JavaScript中如何檢測一個變量是否是String類型
typeof(obj) === "string"
typeof obj === "string"
obj.constructor === String

21.列舉ES6的新特性

  • 類的支持,引入class關(guān)鍵字
  • 字符串模板``
  • 解構(gòu)
  • 默認參數(shù)伸头,不定參數(shù)匾效,拓展參數(shù)
  • let關(guān)鍵字
  • for of
  1. 不同瀏覽器的兼容性區(qū)別
    1.標簽?zāi)J外邊界和內(nèi)填充不同
    解決辦法:margin:0;padding:0;
    2.塊屬性float+橫向margin在IE6中margin顯示比設(shè)置的大
    解決辦法:display:inline;
    3.標簽高度設(shè)置較小(<10px)在IE6、7中高度顯示比設(shè)置的大
    解決辦法:overflow:hidden;或者設(shè)置line-height<height
    4.多個圖片標簽設(shè)置在一起恤磷,某些瀏覽器默認有間距
    解決辦法:為圖片使用float
    5.火狐不支持hand面哼,ie支持pointer
    解決辦法:統(tǒng)一使用cursor:pointer;
    6.small字體大小不同
    解決辦法:使用指定的字體大小
  2. JavaScript數(shù)組反轉(zhuǎn)
var arr = [5,1,4,7,2];
console.log(arr.reverse())//[ 2, 7, 4, 1, 5 ]
  1. JavaScript數(shù)組的排序
var arr = [5,1,4,7,2];
console.log(arr.sort())//[ 1, 2, 4, 5, 7 ]
var arr = [5,1,4,7,2];
console.log(arr.sort().reverse())//[ 7, 5, 4, 2, 1 ]
  1. JavaScript的基本類型
    字符串、數(shù)字扫步、布爾魔策、數(shù)組、對象河胎、Null闯袒、Undefined
  2. let和const的區(qū)別
  • 都只在聲明所在的塊級作用域內(nèi)有效
  • let聲明的變量可以改變值/類型等,const聲明的變量不可改變值仿粹,const聲明同時必須初始化
  1. relative搁吓、absolute、fixed 定位原點
  • absolute:相對不是static的 第一個父元素
  • relative:相對其正常位置
  • fixed :相對瀏覽器窗口
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末吭历,一起剝皮案震驚了整個濱河市堕仔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌晌区,老刑警劉巖摩骨,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件通贞,死亡現(xiàn)場離奇詭異,居然都是意外死亡恼五,警方通過查閱死者的電腦和手機昌罩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來灾馒,“玉大人茎用,你說我怎么就攤上這事〔锹蓿” “怎么了轨功?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長容达。 經(jīng)常有香客問我古涧,道長,這世上最難降的妖魔是什么花盐? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任羡滑,我火速辦了婚禮,結(jié)果婚禮上算芯,老公的妹妹穿的比我還像新娘柒昏。我一直安慰自己,他們只是感情好熙揍,可當我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布昙楚。 她就那樣靜靜地躺著,像睡著了一般诈嘿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上削葱,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天奖亚,我揣著相機與錄音,去河邊找鬼析砸。 笑死昔字,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的首繁。 我是一名探鬼主播作郭,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼弦疮!你這毒婦竟也來了夹攒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤胁塞,失蹤者是張志新(化名)和其女友劉穎咏尝,沒想到半個月后压语,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡编检,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年胎食,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片允懂。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡厕怜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蕾总,到底是詐尸還是另有隱情粥航,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布谤专,位于F島的核電站躁锡,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏置侍。R本人自食惡果不足惜映之,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蜡坊。 院中可真熱鬧杠输,春花似錦、人聲如沸秕衙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽据忘。三九已至鹦牛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間勇吊,已是汗流浹背曼追。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留汉规,地道東北人礼殊。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像针史,于是被迫代替她去往敵國和親晶伦。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,630評論 2 359

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

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5啄枕? 答:HTML5是最新的HTML標準婚陪。 注意:講述HT...
    kismetajun閱讀 27,518評論 1 45
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽?zāi)J的外補...
    _Yfling閱讀 13,759評論 1 92
  • 在線閱讀 http://interview.poetries.top[http://interview.poetr...
    程序員poetry閱讀 114,424評論 24 450
  • 一频祝、理論基礎(chǔ)知識部分 1.1近忙、講講輸入完網(wǎng)址按下回車竭业,到看到網(wǎng)頁這個過程中發(fā)生了什么 a. 域名解析 b. 發(fā)起T...
    我家媳婦蠢蠢噠閱讀 3,129評論 2 106
  • 一、即時通訊 什么是即時通訊及舍? 即時通訊未辆,又稱實時通訊 即時通信(Instant Messaging,簡稱IM)是...
    Mg明明就是你閱讀 7,449評論 0 42