01web前端筆試試題

## 參加了幾場前端的面試,發現很多筆試題都是靠記憶的!嗯,沒錯,一定是這樣的!現在分享給大家,希望大家都能順利的找到工作!

1、css中的position各個值的含義:
position有static、relative、absolute、fixed、inherit幾個屬性.
1、static
默認值,元素正常出現在文檔流中。
2、relative
相對元素原始的位置進行定位,可以通過top、left、bottom、right指定偏移位置。元素原本所佔的空間仍然被保留。
3、absolute
絕對定位。將元素從文檔流中移出,使用top、left、bottom、right屬性值相對於最接近的一個static定位以外的父元素進行定位。如果不存在這樣的父元素,那麼會相對body。
一個設置了絕對定位的元素會成爲inline-block。
4、fixed
與absolute類似,不過是相對於瀏覽器的窗口進行定位。

2、Ajax有什麼優缺點?其同步和異步有什麼區別?
Ajax優點:
①頁面無刷新,實現按需加載,用戶體驗非常好
②不打斷用戶的操作,實現異步請求,具備更加迅速的響應能力
③可以將服務端的一些行爲轉嫁到客戶端,減輕服務器壓力和寬帶
④不需要藉助插件和小程序
Ajax缺點:
①破環了後退前進功能
②安全問題
③對搜索引擎支持較弱
④破壞程序異常機制
同步和異步區別:
同步:js本身是一個阻塞的語言,需要逐行讀取代碼,如果某一個程序出錯,即不再執行後面所有代碼;
異步:不管程序相應結果都會執行所有代碼;

3、new操作符具體都幹了什麼?
創建了一個空對象,並且this變量引用該對象,同時還繼承了該函數
屬性和方法被加入到this引用的對象中;
新創建的對象由this所引用,並且最後隱式的返回this
4、document.ready( )和window.onload( )的區別?
jQueryonloadhtmljQuery使一般是代表jQuery對象。 onload是html原生事件,用jQuery的時候則一般使用(document).ready()。兩者的區別有:
1.執行時間
window.onload必須等到頁面內包括圖片的所有元素加載完畢後才能執行。
$(document).ready()是DOM結構繪製完畢後就執行,不必等到加載完畢。
2.編寫個數不同
window.onload不能同時編寫多個,如果有多個window.onload方法,只會執行一個
$(document).ready()可以同時編寫多個,並且都可以得到執行
3.簡化寫法
window.onload沒有簡化寫法
(document).ready(function())(document).ready(function(){})可以簡寫成(function(){});

5、什麼是JS事件冒泡?Jquery是如何阻止事件冒泡和默認事件?
JS事件冒泡:當一個元素接收到事件的時候,會把他接收到的事件傳給自己的父級,一直到window 。(注意:這裏傳遞的僅僅是事件 並不傳遞所綁定的事件函數。所以如果父級沒有綁定事件函數,就算傳遞了事件也不會有什麼表現 但事件確實傳遞了。)
阻止事件冒泡的方法:
1.event.stopPropagation():
事件處理過程中,阻止了事件冒泡,但不會阻擊默認行爲
2.return false;
事件處理過程中,阻止了事件冒泡,也阻止了默認行爲
3、event.preventDefault();
事件處理過程中,不阻擊事件冒泡,但阻擊默認行爲

6、CSS隱藏元素的幾種方法?
display,使用none值會讓元素從文檔中直接刪除,”直接消失不見了”
用法:display:none
優點:簡單暴力,不需要多餘代碼。不佔空間,對佈局沒影響。
缺點:元素從文檔刪除,不利於seo
text-indent,一般是首行縮2箇中文字的用法是text-indent:2em。但當給他一個足夠大的負值,大到一般我們瀏覽器無法顯示。
用法:text-indent:-999em
優點:利於搜索引擎
缺點:它的作用其實就是把文字提到段落前面,不讓我們看見,不影響寬度?
會影響佈局。
position,假如說一個元素的距離我們的視窗(電腦顯示屏幕)足夠大,大到我們瀏覽器也無法顯示出來,那麼它也是“消失”的。但是這種做法一般適用於比較寫死的東西。
用法:position:absolute; top:-999em或者left:-999em
或 position:absolute; visibility:hidden;
優點:信手拈來,隨意擺放
缺點:用法太死,不能隨意修改,比較死板
visibility,只是“看不見”而已,所以元素依然會影響到佈局
用法:visibility:hidden
優點:利於SEO優化
缺點:該屬性會繼承,假如祖先用了visibility:hidden,那麼子元素也是直接顯示不見,想要子元素顯示讓用戶看見,還要必須再多寫visibility:visible

7、用js實現省市聯動!
具體請參考:原文:https://blog.csdn.net/lettuce_/article/details/79942116?utm_source=copy

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章