前端面試題總結(jié)(一)

1.JavaScript的數(shù)據(jù)類型有哪些茴丰,如何判斷某變量是否為數(shù)組數(shù)據(jù)類型?
答:string姐刁,number芥牌,boolean,undefined,null聂使,object壁拉,symbol
用isArray() instanceof

2.已知id的input輸入框,希望獲取這個(gè)輸入框的輸入值柏靶,怎么做弃理?(不使用第三方框架)
答:var inp = document.getElementById("id").value;
alert(inp)

3.希望獲取到頁(yè)面中所有的CheckBox,怎么做屎蜓?(不使用第三方框架)
答:可以將所有的CheckBox賦予同一個(gè)類名痘昌,然后通過(guò)document.getElementByClassName獲取

4.設(shè)置一個(gè)一已知id的div的HTML內(nèi)容為xxx,字體顏色設(shè)置為黑色(不使用第三方框架)
答:document.getElementById(“ID”).style("color":"black")

5.當(dāng)一個(gè)DOM節(jié)點(diǎn)被點(diǎn)擊時(shí)梆靖,我們希望能夠執(zhí)行一個(gè)函數(shù)控汉,應(yīng)該怎么做?JavaScript的事件流模型都有什么返吻?

答:直接在DOM里綁定事件:<div onclick=”test()”></div>
在JS里通過(guò)onclick綁定:xxx.onclick = test
通過(guò)事件添加進(jìn)行綁定:addEventListener(xxx, ‘click’, test)
那么問(wèn)題來(lái)了,Javascript的事件流模型都有什么乎婿?
“事件冒泡”:事件開始由最具體的元素接受测僵,然后逐級(jí)向上傳播
“事件捕捉”:事件由最不具體的節(jié)點(diǎn)先接收,然后逐級(jí)向下,一直到最具體的
“DOM事件流”:三個(gè)階段:事件捕捉捍靠,目標(biāo)階段沐旨,事件冒泡

6.看下列代碼輸出為何?解釋原因
var a;
alert(typeof a); //undefined 因?yàn)槁暶髁说菦](méi)有賦值
alert(b) //b is not defined 根本就沒(méi)有聲明 b

7.看下列代碼榨婆,輸出什么磁携?解釋原因
var a = null;
alert(typeof a);
答:object 從邏輯角度來(lái)看,null值表示一個(gè)空對(duì)象指針良风,而這正是使用typeof操作符檢測(cè)null值時(shí)會(huì)返回“object”的原因谊迄。

8.看下列代碼,輸出什么烟央?解釋原因
var undefined; // 報(bào)錯(cuò)
undefined == null; // true
1==true; // true
2==true; // false
0==false; // true
0==''; // true
NaN==NaN; // false
{}==false; // false
{}==!{}; // false

9.居中div浮動(dòng)元素统诺,容器寬度為300px,高為200px,請(qǐng)居中顯示div
<html>
<head>
<style type="text/css">
.div{width:300px;height:200px;margin:0 auto}
</style>
</head>
<body>
<div class="div">居中顯示</div>
</body>
</html>

10.簡(jiǎn)單介紹以下幾種值得顯示效果。block疑俭,none粮呢,inline-block,list-item
答:none 此元素不會(huì)被顯示钞艇。
block 此元素將顯示為塊級(jí)元素啄寡,此元素前后會(huì)帶有換行符。
inline 默認(rèn)哩照。此元素會(huì)被顯示為內(nèi)聯(lián)元素这难,元素前后沒(méi)有換行符。
inline-block 行內(nèi)塊元素葡秒。(CSS2.1 新增的值)
list-item 此元素會(huì)作為列表顯示姻乓。
run-in 此元素會(huì)根據(jù)上下文作為塊級(jí)元素或內(nèi)聯(lián)元素顯示。
compact CSS 中有值 compact眯牧,不過(guò)由于缺乏廣泛支持蹋岩,已經(jīng)從 CSS2.1 中刪除。
marker CSS 中有值 marker学少,不過(guò)由于缺乏廣泛支持剪个,已經(jīng)從 CSS2.1 中刪除。
table 此元素會(huì)作為塊級(jí)表格來(lái)顯示(類似 <table>)版确,表格前后帶有換行符扣囊。
inline-table 此元素會(huì)作為內(nèi)聯(lián)表格來(lái)顯示(類似 <table>),表格前后沒(méi)有換行符绒疗。
table-row-group 此元素會(huì)作為一個(gè)或多個(gè)行的分組來(lái)顯示(類似 <tbody>)侵歇。
table-header-group 此元素會(huì)作為一個(gè)或多個(gè)行的分組來(lái)顯示(類似 <thead>)。
table-footer-group 此元素會(huì)作為一個(gè)或多個(gè)行的分組來(lái)顯示(類似 <tfoot>)吓蘑。
table-row 此元素會(huì)作為一個(gè)表格行顯示(類似 <tr>)惕虑。
table-column-group 此元素會(huì)作為一個(gè)或多個(gè)列的分組來(lái)顯示(類似 <colgroup>)坟冲。
table-column 此元素會(huì)作為一個(gè)單元格列顯示(類似 <col>)
table-cell 此元素會(huì)作為一個(gè)表格單元格顯示(類似 <td> 和 <th>)
table-caption 此元素會(huì)作為一個(gè)表格標(biāo)題顯示(類似 <caption>)
inherit 規(guī)定應(yīng)該從父元素繼承 display 屬性的值。

11.css3有哪些 新特性
答: 第 1 選擇器
第 2 rgba多欄布局
第 4 多背景圖
第 5 Word Wrap
第 6 文字陰影
第 7 @font-face屬性
第 8 圓角(邊框半徑)
第 9 邊框圖片
第 10 盒陰影
第 11 盒子大小
第 12 媒體查詢
第 13 語(yǔ)音

12.解釋一下localstorage和sessionstorage的區(qū)別溃蔫。他們和cookie又有什么不同健提?
cookie是網(wǎng)站為了標(biāo)示用戶身份而儲(chǔ)存在用戶本地終端(Client Side)上的數(shù)據(jù)(通常經(jīng)過(guò)加密)。
cookie數(shù)據(jù)始終在同源的http請(qǐng)求中攜帶(即使不需要)伟叛,記會(huì)在瀏覽器和服務(wù)器間來(lái)回傳遞私痹。
sessionStorage和localStorage不會(huì)自動(dòng)把數(shù)據(jù)發(fā)給服務(wù)器,僅在本地保存

1)共享 sessionStorage不能共享  localStorage在同源文檔之間共享统刮,cookie在同源且符合path原則的文檔之間共享
2)有效期:cookie在設(shè)置的有效期內(nèi)有效紊遵,默認(rèn)瀏覽器關(guān)閉,sessionStorage在窗口關(guān)閉之前有效网沾,localStroage長(zhǎng)期有效癞蚕,直到用戶刪除
3)localStroage的修改會(huì)促發(fā)其他文檔窗口的update事件
4)cookie會(huì)在請(qǐng)求時(shí)發(fā)送到服務(wù)器,作為會(huì)話標(biāo)識(shí)辉哥,服務(wù)器可修改cookie桦山,webStorage不會(huì)發(fā)送到服務(wù)器
5)cookie有path概念,子路徑可以訪問(wèn)父路徑cookie醋旦,父路徑不能訪問(wèn)子路徑的cookie
6)cookie有secure屬性要求https傳輸恒水,瀏覽器不能超過(guò)300個(gè)cookie,單個(gè)服務(wù)器不能超過(guò)20個(gè)饲齐,每個(gè)cookie不能超過(guò)4k钉凌,webStroage大小支持能達(dá)到5m

13.有哪些性能優(yōu)化方法?
第一:面向內(nèi)容的優(yōu)化
1. 減少 HTTP 請(qǐng)求
2. 減少 DNS 查找
3. 避免重定向
4. 使用 Ajax 緩存
5. 延遲載入組件
6. 預(yù)先載入組件
7. 減少 DOM 元素?cái)?shù)量
8. 切分組件到多個(gè)域
9. 最小化 iframe 的數(shù)量
10. 不要出現(xiàn)http 404 錯(cuò)誤
第二:面向 Server
1. 縮小 Cookie
2. 針對(duì) Web 組件使用域名無(wú)關(guān)性的

14.簡(jiǎn)述"=="和"==="的不同捂人?
==關(guān)系運(yùn)算符
===數(shù)據(jù)類型也要一樣

**15.簡(jiǎn)述NAN Null undefined區(qū)別 ** http://www.cnblogs.com/phpk/p/6093216.html 這個(gè)網(wǎng)站更全
null:空的御雕,無(wú)效的的意思
NaN:計(jì)算中出現(xiàn)錯(cuò)誤或者計(jì)算錯(cuò)誤。
undefined:不明確滥搭,未知酸纲,可以指出字符串,,一般是出現(xiàn)了未定義的字符,需要宏定義一下瑟匆。

16.在JavaScript中什么是偽數(shù)組闽坡?如何將偽數(shù)組轉(zhuǎn)化為標(biāo)準(zhǔn)數(shù)組?
偽數(shù)組(類數(shù)組):
無(wú)法直接調(diào)用數(shù)組方法或期望length屬性有什么特殊的行為愁溜,不具有數(shù)組的push,pop等方法疾嗅,但仍可以對(duì)真正數(shù)組遍歷方法來(lái)遍歷它們。典型的是函數(shù)的argument參數(shù)冕象,還有像調(diào)用getElementsByTagName,document.childNodes之類的,它們都返回NodeList對(duì)象都屬于偽數(shù)組代承。可以使用Array.prototype.slice.call(fakeArray)將數(shù)組轉(zhuǎn)化為真正的Array對(duì)象交惯。

    function log(){
            var args = Array.prototype.slice.call(arguments); //為了使用unshift數(shù)組方法次泽,將argument轉(zhuǎn)化為真正的數(shù)組
            
            args.unshift('(app)'); console.log.apply(console, args);
    };

    這里把符合以下條件的對(duì)象稱為偽數(shù)組:
        1穿仪,具有l(wèi)ength屬性
        2席爽,按索引方式存儲(chǔ)數(shù)據(jù)
        3意荤,不具有數(shù)組的push,pop等方法
        如
        1,function內(nèi)的arguments 只锻。
        2玖像,通過(guò)document.forms,F(xiàn)orm.elements齐饮,Select.options捐寥,document.getElementsByName() ,
        document.getElementsByTagName() 祖驱,childNodes/children 等方式獲取的集合(HTMLCollection握恳,NodeList)等。
        3捺僻,特殊寫法的對(duì)象 乡洼,如
        Js代碼  收藏代碼
        var obj={};
        obj[0] = "一";
        obj[1] = "二";
        obj[2] = "三";
        obj.length = 3;

17.Window.onload和$(document).ready的區(qū)別?

    1.執(zhí)行時(shí)間 

            window.onload必須等到頁(yè)面內(nèi)包括圖片的所有元素加載完畢后才能執(zhí)行匕坯。 
            $(document).ready()是DOM結(jié)構(gòu)繪制完畢后就執(zhí)行束昵,不必等到加載完畢。 


    2.編寫個(gè)數(shù)不同 

             window.onload不能同時(shí)編寫多個(gè)葛峻,如果有多個(gè)window.onload方法锹雏,只會(huì)執(zhí)行一個(gè) 
             $(document).ready()可以同時(shí)編寫多個(gè),并且都可以得到執(zhí)行 

    3.簡(jiǎn)化寫法 

             window.onload沒(méi)有簡(jiǎn)化寫法 
             $(document).ready(function(){})可以簡(jiǎn)寫成$(function(){});
             
             Document.onload 是在結(jié)構(gòu)和樣式加載完才執(zhí)行js
            Document.ready原生種沒(méi)有這個(gè)方法术奖,jquery中有 $().ready(function)

23.call和apply的區(qū)別礁遵?
call方法:
語(yǔ)法:call(thisObj,Object)
定義:調(diào)用一個(gè)對(duì)象的一個(gè)方法采记,以另一個(gè)對(duì)象替換當(dāng)前對(duì)象佣耐。
說(shuō)明:
call 方法可以用來(lái)代替另一個(gè)對(duì)象調(diào)用一個(gè)方法。call 方法可將一個(gè)函數(shù)的對(duì)象上下文從初始的上下文改變?yōu)橛?thisObj 指定的新對(duì)象挺庞。
如果沒(méi)有提供 thisObj 參數(shù)晰赞,那么 Global 對(duì)象被用作 thisObj。

    apply方法: 
    語(yǔ)法:apply(thisObj选侨,[argArray])
    定義:應(yīng)用某一對(duì)象的一個(gè)方法掖鱼,用另一個(gè)對(duì)象替換當(dāng)前對(duì)象。 
    說(shuō)明: 
    如果 argArray 不是一個(gè)有效的數(shù)組或者不是 arguments 對(duì)象援制,那么將導(dǎo)致一個(gè) TypeError戏挡。 
    如果沒(méi)有提供 argArray 和 thisObj 任何一個(gè)參數(shù),那么 Global 對(duì)象將被用作 thisObj晨仑, 并且無(wú)法被傳遞任何參數(shù)褐墅。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拆檬,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子妥凳,更是在濱河造成了極大的恐慌竟贯,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件逝钥,死亡現(xiàn)場(chǎng)離奇詭異屑那,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)艘款,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門持际,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人哗咆,你說(shuō)我怎么就攤上這事蜘欲。” “怎么了晌柬?”我有些...
    開封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵姥份,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我空繁,道長(zhǎng)殿衰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任盛泡,我火速辦了婚禮闷祥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘傲诵。我一直安慰自己凯砍,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開白布拴竹。 她就那樣靜靜地躺著悟衩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪栓拜。 梳的紋絲不亂的頭發(fā)上座泳,一...
    開封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音幕与,去河邊找鬼挑势。 笑死,一個(gè)胖子當(dāng)著我的面吹牛啦鸣,可吹牛的內(nèi)容都是我干的潮饱。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼诫给,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼香拉!你這毒婦竟也來(lái)了啦扬?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤凫碌,失蹤者是張志新(化名)和其女友劉穎扑毡,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年偎行,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了啸臀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡赐写,死狀恐怖鸟蜡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情挺邀,我是刑警寧澤揉忘,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站端铛,受9級(jí)特大地震影響泣矛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜禾蚕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一您朽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧换淆,春花似錦哗总、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至县习,卻和暖如春涮母,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背躁愿。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工叛本, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人攘已。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓炮赦,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親样勃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子吠勘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

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

  • <a name='html'>HTML</a> Doctype作用性芬?標(biāo)準(zhǔn)模式與兼容模式各有什么區(qū)別? (1)、<...
    clark124閱讀 3,474評(píng)論 1 19
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,811評(píng)論 0 11
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法剧防,類相關(guān)的語(yǔ)法植锉,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法峭拘,異常的語(yǔ)法俊庇,線程的語(yǔ)...
    子非魚_t_閱讀 31,631評(píng)論 18 399
  • 嗯哼拣展,有趣的問(wèn)題 瘦臉針打三次能定型嗎彭沼? 我們先來(lái)科普關(guān)于瘦臉針 你真的需要瘦臉針嗎? 這是大家都常見(jiàn)的問(wèn)題瘦臉針...
    B姐整啥呢閱讀 23,332評(píng)論 0 0
  • 小時(shí)候喜歡玩一種游戲:捉迷藏备埃。 游戲有兩種玩法: 一是:一群人手牽手圍成一圈姓惑,用手絹蒙住一人雙眼,把他轉(zhuǎn)得不辨方向...
    悅?cè)灰恍?/span>閱讀 1,169評(píng)論 0 1