- 相關(guān)推薦
web前端面試題(2)
http_request.onreadystatechange = alertContents;
http_request.open('GET', url, true);
http_request.send(null);
}
function alertContents() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
alert(http_request.responseText);
} else {
alert('There was a problem with the request.');
}
}
}
字符串拼接改良方案
把要拼接的字符串寫入數(shù)組arr,然后調(diào)用arr.join("");
title和alt的區(qū)別?
都是提示詞。簡單的說,title給人看,alt給引擎看
CSS選擇器有哪些?
通配選擇器(*),標(biāo)簽選擇器(tag),類選擇器(.class),id選擇器(#id),屬性選擇器(selector[attr="val"]),后代選擇器(selector1 selector2),子代選擇器(selector1 > selector2),相鄰選擇器(selector1 ~ selector2),偽元素(selector:first-child等),偽類(selector:hover等)。叫法可能不大一樣,所以舉出一些例子供參考。
function foo(){ console.log(this); }; foo.call(null);
window。call第一個(gè)參數(shù)為null,所以調(diào)用者為全局,也就是window,而this指向調(diào)用者
DOCTYPE作用及意義
為了告訴瀏覽器以什么標(biāo)準(zhǔn)來解析文檔。這是因?yàn)椴糠志W(wǎng)頁并沒有遵循標(biāo)準(zhǔn),或者遵循的是舊版本的標(biāo)準(zhǔn)。
具體用法,可以參考:https://www.jb51.net/web/34217.html
readyState有哪些值?各代表什么?
0 - (未初始化)還沒有調(diào)用send()方法
1 - (載入)已調(diào)用send()方法,正在發(fā)送請求
2 - (載入完成)send()方法執(zhí)行完成,已經(jīng)接收到全部響應(yīng)內(nèi)容
3 - (交互)正在解析響應(yīng)內(nèi)容
4 - (完成)響應(yīng)內(nèi)容解析完成,可以在客戶端調(diào)用了
js閉包概念
js函數(shù)里聲明的局部變量會在退出函數(shù)時(shí)被銷毀。而閉包則是保留對局部變量的引用,使其久居內(nèi)存。
HTML5和HTML4相比多出哪些功能?CSS3和CSS2相比多出哪些功能?
HTML5:表單驗(yàn)證、websocket、語義化標(biāo)簽等等
CSS3:動畫,計(jì)算,新的屬性
less是什么?有什么特點(diǎn)?如何判斷l(xiāng)ess的兼容性
less是一種CSS預(yù)編譯器,在CSS原有基礎(chǔ)上引入了變量、函數(shù)等元素,使得CSS更容易維護(hù)、擴(kuò)充。
less是靠less.js來解析的,所以,與瀏覽器沒有關(guān)系。IE6+和其他主流瀏覽器都可以使用less
JS的屬性可以直接在構(gòu)造函數(shù)中定義,也可以在原型中定義。兩者有什么不同?
前者定義是寫在內(nèi)存中,而后者是寫在硬盤中
Array(6).join('a')結(jié)果是多少?
"aaaaa"。join是指數(shù)組每一項(xiàng)用join的參數(shù)隔開。
123456['toString']['length'];
1。Number.toString是一個(gè)函數(shù),長度為1
{}+'a'<{}+'b';
false。{}+"a"會轉(zhuǎn)化成數(shù)字相加,結(jié)果為NaN。NaN與NaN比較永遠(yuǎn)返回false
var arr = [1,2,3,4,5,6];arr.splice(1,3);arr.toString();
156。splice(index, length)。第一個(gè)參數(shù)表示開始切割的下標(biāo),第二個(gè)是切割的長度。注意這個(gè)切割是從原數(shù)組中去除
var arr = [1,2,3,4,5,6];arr.slice(1,3)['toString']();
23。和上例不同,slice(index1, index2)第一個(gè)參數(shù)表示開始切割的下標(biāo),第二個(gè)參數(shù)是結(jié)束切割的下標(biāo)(不含)。且這個(gè)切割返回切除部分。
({a:1,b:2,c:3})[['b']];
2、寫一個(gè)hack樣式實(shí)現(xiàn) IE6、IE7、firefox 下分別使用不同顏色
以下分別用條件注釋和屬性前綴法實(shí)現(xiàn)
[css] view plaincopyprint?
[css] view plaincopyprint?
color: #67f; // firefox, IE6, IE7
*color: #667; // IE6,IE7
_color: #666; // IE6 only
/* 只在IE6下生效 */
/* 只在IE7下生效 */
color: #777;
/* 在非IE下生效 */
項(xiàng)目規(guī)劃題:
假如你是項(xiàng)目負(fù)責(zé)人,你會如何規(guī)劃整個(gè)項(xiàng)目的CSS文件?
reset.css
public.css
各模塊按文件夾分配CSS,或直接以模塊劃分CSS
如何在項(xiàng)目中避免和其他小組沖突?例如類名的命名?
在類名中加模塊前綴,例如登錄的提交按鈕命名可以為"login-btn-submit"(個(gè)人用法,不一樣的歡迎提出來交流)
邏輯題:
七點(diǎn)四十五分的時(shí)候,時(shí)針和分針之間的角度是多少?
37.5°
給你N個(gè)蘋果和一座天平,其中一個(gè)蘋果比較重,其他蘋果一樣重。假設(shè)其他因素完全一樣,假設(shè)天平兩側(cè)可以放無限個(gè)蘋果,F(xiàn)在要找出那個(gè)較重的蘋果,需要使用幾次天平。求最差情況的最優(yōu)解。(設(shè)計(jì)一種算法,讓平均次數(shù)最少)
想說二分的都準(zhǔn)備掛吧2333,不信想一下N=8的情況。
我能想到的最好方案是三分,即N/3并向上取整*2,剩下的作為第三堆。即每次天平稱的時(shí)候兩邊是ceil(N/3)。例如上面說的,N=8的時(shí)候,按二分的思路,第一次稱是4,4,第二次稱的時(shí)候是2,2,第三次是1,1,總共三次。而用三分的思路,第一次是3,3,2,第二次(最壞)是1,1,1,只需要兩次。
【web前端面試題(2)】相關(guān)文章:
最新web前端面試題05-31
Web前端面試題目及答案06-30
一道阿里巴巴Web前端面試題拓展06-18
web前端面試技巧10-23
前端面試題06-20
web前端工作技能簡歷范文08-15
HTML前端開發(fā)面試題及前端知識07-29