html+js面試題稠茂。

一、html基礎(chǔ)
1、你做的頁面在哪些流覽器測試過睬关?這些瀏覽器的內(nèi)核分別是什么?
IE: trident內(nèi)核
Firefox:gecko內(nèi)核
Safari:webkit內(nèi)核
Opera:以前是presto內(nèi)核诱担,Opera現(xiàn)已改用Google Chrome的Blink內(nèi)核
Chrome:Blink(基于webkit,Google與Opera Software共同開發(fā))

2电爹、每個HTML文件里開頭都有個很重要的東西蔫仙,Doctype,知道這是干什么的嗎丐箩?
<!DOCTYPE> 聲明位于文檔中的最前面的位置摇邦,處于 <html> 標(biāo)簽之前。此標(biāo)簽可告知瀏覽器文檔使用哪種 HTML 或 XHTML 規(guī)范屎勘。(重點:告訴瀏覽器按照何種規(guī)范解析頁面)

2.1施籍、請談一下你對網(wǎng)頁標(biāo)準(zhǔn)和標(biāo)準(zhǔn)制定機構(gòu)重要性的理解。
網(wǎng)頁標(biāo)準(zhǔn)和標(biāo)準(zhǔn)制定機構(gòu)都是為了能讓web發(fā)展的更‘健康’概漱,開發(fā)者遵循統(tǒng)一的標(biāo)準(zhǔn)丑慎,降低開發(fā)難度,開發(fā)成本犀概,SEO也會更好做立哑,也不會因為濫用代碼導(dǎo)致各種BUG、安全問題姻灶,最終提高網(wǎng)站易用性铛绰。

2.2、Doctype的作用产喉?嚴(yán)格模式與混雜模式的區(qū)別捂掰?
<!DOCTYPE>用于告知瀏覽器該以何種模式來渲染文檔
嚴(yán)格模式下:頁面排版及JS解析是以該瀏覽器支持的最高標(biāo)準(zhǔn)來執(zhí)行
混雜模式:不嚴(yán)格按照標(biāo)準(zhǔn)執(zhí)行,主要用來兼容舊的瀏覽器曾沈,向后兼容

2.3这嚣、對WEB標(biāo)準(zhǔn)以及W3C的理解與認(rèn)識
答:標(biāo)簽閉合、標(biāo)簽小寫塞俱、不亂嵌套姐帚、提高搜索機器人搜索幾率、使用外 鏈css和js腳本障涯、結(jié)構(gòu)行為表現(xiàn)的分離罐旗、文件下載與頁面速度更快、內(nèi)容能被更多的用戶所訪問唯蝶、內(nèi)容能被更廣泛的設(shè)備所訪問九秀、更少的代碼和組件,容易維 護粘我、改版方便鼓蜒,不需要變動頁面內(nèi)容、提供打印版本而不需要復(fù)制內(nèi)容、提高網(wǎng)站易用性都弹。

3娇豫、div+css的布局較table布局有什么優(yōu)點?
改版的時候更方便 只要改css文件畅厢。
頁面加載速度更快锤躁、結(jié)構(gòu)化清晰、頁面顯示簡潔或详。
表現(xiàn)與結(jié)構(gòu)相分離。
易于優(yōu)化(seo)搜索引擎更友好郭计,排名更容易靠前霸琴。

4、 img的alt與title有何異同昭伸? strong與em的異同梧乘?
a:alt(alt text):為不能顯示圖像、窗體或applets的用戶代理(UA)庐杨,alt屬性用來指定替換文字选调。替換文字的語言由lang屬性指定。(在IE瀏覽器下會在沒有title時把alt當(dāng)成 tool tip顯示)
title(tool tip):該屬性為設(shè)置該屬性的元素提供建議性的信息灵份。
strong:粗體強調(diào)標(biāo)簽仁堪,強調(diào),表示內(nèi)容的重要性
em:斜體強調(diào)標(biāo)簽填渠,更強烈強調(diào)弦聂,表示內(nèi)容的強調(diào)點

5、為什么利用多個域名來存儲網(wǎng)站資源會更有效氛什?
CDN緩存更方便
突破瀏覽器并發(fā)限制
節(jié)約cookie帶寬
節(jié)約主域名的連接數(shù)莺葫,優(yōu)化頁面響應(yīng)速度
防止不必要的安全問題

6、cookie枪眉、sessionstorage和localstorage
cookie較小捺檬,不能超過4k,localStorage,sessctionStorage可儲存容量較大贸铜,有5M
cookie有時效性堡纬,localStorage在客戶端長期保護數(shù)據(jù),sesstionStorage保存會話數(shù)據(jù)萨脑,關(guān)閉標(biāo)簽頁或瀏覽器數(shù)據(jù)消失
cookie可以跟后端交互隐轩,cookie數(shù)據(jù)始終在同源的http請求中攜帶;這兩個只能存儲在瀏覽器

7渤早、簡述一下src與href的區(qū)別职车。
src用于替換當(dāng)前元素,href用于在當(dāng)前文檔和引用資源之間確立聯(lián)系。
src是source的縮寫悴灵,指向外部資源的位置扛芽,指向的內(nèi)容將會嵌入到文檔中當(dāng)前標(biāo)簽所在位置;在請求src資源時會將其指向的資源下載并應(yīng)用到文檔內(nèi)积瞒,例如js腳本川尖,img圖片和frame等元素。
<script src =”js.js”></script>
當(dāng)瀏覽器解析到該元素時茫孔,會暫停其他資源的下載和處理叮喳,直到將該資源加載、編譯缰贝、執(zhí)行完畢馍悟,圖片和框架等元素也如此,類似于將所指向資源嵌入當(dāng)前標(biāo)簽內(nèi)剩晴。這也是為什么將js腳本放在底部而不是頭部锣咒。
href是Hypertext Reference的縮寫,指向網(wǎng)絡(luò)資源所在位置赞弥,建立和當(dāng)前元素(錨點)或當(dāng)前文檔(鏈接)之間的鏈接毅整,如果我們在文檔中添加
<link href=”common.css” rel=”stylesheet”/>
那么瀏覽器會識別該文檔為css文件,就會并行下載資源并且不會停止對當(dāng)前文檔的處理绽左。這也是為什么建議使用link方式來加載css悼嫉,而不是使用@import方式。

8拼窥、知道的網(wǎng)頁制作會用到的圖片格式有哪些承粤?
png-8,png-24闯团,jpeg辛臊,gif,svg房交。
但是上面的那些都不是面試官想要的最后答案彻舰。面試官希望聽到是Webp。(是否有關(guān)注新技術(shù)候味,新鮮事物)
科普一下Webp:WebP格式刃唤,谷歌(google)開發(fā)的一種旨在加快圖片加載速度的圖片格式。圖片壓縮體積大約只有JPEG的2/3白群,并能節(jié)省大量的服務(wù)器帶寬資源和數(shù)據(jù)空間尚胞。Facebook Ebay等知名網(wǎng)站已經(jīng)開始測試并使用WebP格式。
在質(zhì)量相同的情況下帜慢,WebP格式圖像的體積要比JPEG格式圖像小40%

9笼裳、在css/js代碼上線之后開發(fā)人員經(jīng)常會優(yōu)化性能唯卖,從用戶刷新網(wǎng)頁開始,一次js請求一般情況下有哪些地方會有緩存處理躬柬?
答案:dns緩存拜轨,cdn緩存,瀏覽器緩存允青,服務(wù)器緩存橄碾。

10、談?wù)勔郧岸私嵌瘸霭l(fā)做好SEO需要考慮什么颠锉?
了解搜索引擎如何抓取網(wǎng)頁和如何索引網(wǎng)頁
你需要知道一些搜索引擎的基本工作原理法牲,各個搜索引擎之間的區(qū)別,搜索機器人(SE robot 或叫 web crawler)如何進行工作琼掠,搜索引擎如何對搜索結(jié)果進行排序等等皆串。
Meta標(biāo)簽優(yōu)化
主要包括主題(Title),網(wǎng)站描述(Description)眉枕,和關(guān)鍵詞(Keywords)。還有一些其它的隱藏文字比如Author(作者)怜森,Category(目錄)速挑,Language(編碼語種)等。
如何選取關(guān)鍵詞并在網(wǎng)頁中放置關(guān)鍵詞
搜索就得用關(guān)鍵詞副硅。關(guān)鍵詞分析和選擇是SEO最重要的工作之一姥宝。首先要給網(wǎng)站確定主關(guān)鍵詞(一般在5個上下),然后針對這些關(guān)鍵詞進行優(yōu)化恐疲,包括關(guān)鍵詞密度(Density)腊满,相關(guān)度(Relavancy),突出性(Prominency)等等培己。
了解主要的搜索引擎
雖然搜索引擎有很多碳蛋,但是對網(wǎng)站流量起決定作用的就那么幾個。比如英文的主要有Google省咨,Yahoo肃弟,Bing等;中文的有百度零蓉,搜狗笤受,有道等。不同的搜索引擎對頁面的抓取和索引敌蜂、排序的規(guī)則都不一樣箩兽。還要了解各搜索門戶和搜索引擎之間的關(guān)系,比如AOL網(wǎng)頁搜索用的是Google的搜索技術(shù)章喉,MSN用的是Bing的技術(shù)汗贫。
主要的互聯(lián)網(wǎng)目錄
Open Directory自身不是搜索引擎身坐,而是一個大型的網(wǎng)站目錄,他和搜索引擎的主要區(qū)別是網(wǎng)站內(nèi)容的收集方式不同芳绩。目錄是人工編輯的掀亥,主要收錄網(wǎng)站主頁;搜索引擎是自動收集的妥色,除了主頁外還抓取大量的內(nèi)容頁面搪花。
按點擊付費的搜索引擎
搜索引擎也需要生存,隨著互聯(lián)網(wǎng)商務(wù)的越來越成熟嘹害,收費的搜索引擎也開始大行其道撮竿。最典型的有Overture和百度,當(dāng)然也包括Google的廣告項目Google Adwords笔呀。越來越多的人通過搜索引擎的點擊廣告來定位商業(yè)網(wǎng)站幢踏,這里面也大有優(yōu)化和排名的學(xué)問,你得學(xué)會用最少的廣告投入獲得最多的點擊许师。
搜索引擎登錄
網(wǎng)站做完了以后房蝉,別躺在那里等著客人從天而降。要讓別人找到你微渠,最簡單的辦法就是將網(wǎng)站提交(submit)到搜索引擎搭幻。如果你的是商業(yè)網(wǎng)站,主要的搜索引擎和目錄都會要求你付費來獲得收錄(比如Yahoo要299美元)逞盆,但是好消息是(至少到目前為止)最大的搜索引擎Google目前還是免費檀蹋,而且它主宰著60%以上的搜索市場。
鏈接交換和鏈接廣泛度(Link Popularity)
網(wǎng)頁內(nèi)容都是以超文本(Hypertext)的方式來互相鏈接的云芦,網(wǎng)站之間也是如此俯逾。除了搜索引擎以外,人們也每天通過不同網(wǎng)站之間的鏈接來Surfing(“沖浪”)舅逸。其它網(wǎng)站到你的網(wǎng)站的鏈接越多桌肴,你也就會獲得更多的訪問量。更重要的是琉历,你的網(wǎng)站的外部鏈接數(shù)越多识脆,會被搜索引擎認(rèn)為它的重要性越大,從而給你更高的排名善已。
合理的標(biāo)簽使用

11灼捂、CSS都有哪些選擇器?
派生選擇器(用HTML標(biāo)簽申明)
id選擇器(用DOM的ID申明)
類選擇器(用一個樣式類名申明)
屬性選擇器(用DOM的屬性申明换团,屬于CSS2悉稠,IE6不支持,不常用艘包,不知道就算了)
除了前3種基本選擇器的猛,還有一些擴展選擇器耀盗,包括
后代選擇器(利用空格間隔,比如div .a{ })
群組選擇器(利用逗號間隔卦尊,比如p,div,#a{ })
那么問題來了叛拷,CSS選擇器的優(yōu)先級是怎么樣定義的?
基本原則:
一般而言岂却,選擇器越特殊忿薇,它的優(yōu)先級越高。也就是選擇器指向的越準(zhǔn)確躏哩,它的優(yōu)先級就越高署浩。
復(fù)雜的計算方法:
用1表示派生選擇器的優(yōu)先級
用10表示類選擇器的優(yōu)先級
用100標(biāo)示ID選擇器的優(yōu)先級
div.test1 .span var 優(yōu)先級 1+10 +10 +1
span#xxx .songs li 優(yōu)先級1+100 + 10 + 1

xxx li 優(yōu)先級 100 +1

12、行內(nèi)元素和塊級元素的具體區(qū)別是什么扫尺?行內(nèi)元素的padding和margin可設(shè)置嗎筋栋?
塊級元素(block)特性:
總是獨占一行,表現(xiàn)為另起一行開始正驻,而且其后的元素也必須另起一行顯示;
寬度(width)弊攘、高度(height)、內(nèi)邊距(padding)和外邊距(margin)都可控制;
內(nèi)聯(lián)元素(inline)特性:
和相鄰的內(nèi)聯(lián)元素在同一行;
寬度(width)姑曙、高度(height)襟交、內(nèi)邊距的top/bottom(padding-top/padding-bottom)和外邊距的top/bottom(margin-top/margin-bottom)都不可改變(也就是padding和margin的left和right是可以設(shè)置的),就是里面文字或圖片的大小渣磷。
那么問題來了,瀏覽器還有默認(rèn)的天生inline-block元素(擁有內(nèi)在尺寸授瘦,可設(shè)置高寬醋界,但不會自動換行),有哪些提完?
答案:<input> 形纺、<img> 、<button> 徒欣、<texterea> 逐样、<label>。

13打肝、Sass脂新、LESS是什么?大家為什么要使用他們粗梭?
他們是CSS預(yù)處理器争便。他是CSS上的一種抽象層。他們是一種特殊的語法/語言編譯成CSS断医。
例如Less是一種動態(tài)樣式語言. 將CSS賦予了動態(tài)語言的特性滞乙,如變量奏纪,繼承,運算斩启, 函數(shù). LESS 既可以在客戶端上運行 (支持IE 6+, Webkit, Firefox)序调,也可一在服務(wù)端運行 (借助 Node.js)。
為什么要使用它們兔簇?
結(jié)構(gòu)清晰发绢,便于擴展。
可以方便地屏蔽瀏覽器私有語法差異男韧。這個不用多說朴摊,封裝對瀏覽器語法差異的重復(fù)處理,減少無意義的機械勞動此虑。
可以輕松實現(xiàn)多重繼承甚纲。
完全兼容 CSS 代碼,可以方便地應(yīng)用到老項目中朦前。LESS 只是在 CSS 語法上做了擴展介杆,所以老的 CSS 代碼也可以與 LESS 代碼一同編譯。

14韭寸、CSS中l(wèi)ink和@import的區(qū)別是:
Link屬于html標(biāo)簽春哨,而@import是CSS中提供的
在頁面加載的時候,link會同時被加載恩伺,而@import引用的CSS會在頁面加載完成后才會加載引用的CSS
@import只有在ie5以上才可以被識別赴背,而link是html標(biāo)簽,不存在瀏覽器兼容性問題
Link引入樣式的權(quán)重大于@import的引用(@import是將引用的樣式導(dǎo)入到當(dāng)前的頁面中)

15晶渠、IE的雙邊距BUG:塊級元素float后設(shè)置橫向margin凰荚,ie6顯示的margin比設(shè)置的較大。解決:加入_display:inline
16褒脯、html常見兼容性問題便瑟?
1.雙邊距BUG float引起的 使用display
2.3像素問題 使用float引起的 使用dislpay:inline -3px
3.超鏈接hover 點擊后失效 使用正確的書寫順序 link visited hover active
4.Ie z-index問題 給父級添加position:relative
5.Png 透明 使用js代碼 改
6.Min-height 最小高度 !Important 解決’
7.select 在ie6下遮蓋 使用iframe嵌套
8.為什么沒有辦法定義1px左右的寬度容器(IE6默認(rèn)的行高造成的番川,使用over:hidden,zoom:0.08 line-height:1px)
9.IE5-8不支持opacity到涂,解決辦法:
.opacity {
opacity: 0.4
filter: alpha(opacity=60); /* for IE5-7 /
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; /
for IE 8*/
}

  1. IE6不支持PNG透明背景,解決辦法: IE6下使用gif圖片

17颁督、CSS的盒子模型践啄?
(1)兩種, IE 盒子模型沉御、標(biāo)準(zhǔn) W3C 盒子模型往核;IE 的content部分包含了 border 和 padding;
(2)盒模型: 內(nèi)容(content)、填充(padding)嚷节、邊界(margin)聂儒、 邊框(border).

18虎锚、列出display的值,說明他們的作用衩婚。position的值窜护, relative和absolute定位原點是?

  1. block 象塊類型元素一樣顯示非春。
    none 缺省值柱徙。向行內(nèi)元素類型一樣顯示。
    inline-block 象行內(nèi)元素一樣顯示奇昙,但其內(nèi)容象塊類型元素一樣顯示护侮。
    list-item 象塊類型元素一樣顯示,并添加樣式列表標(biāo)記储耐。
  2. position的值
    *absolute
    生成絕對定位的元素羊初,相對于 static 定位以外的第一個父元素進行定位。
    *fixed (老IE不支持)
    生成絕對定位的元素什湘,相對于瀏覽器窗口進行定位长赞。
  • relative
    生成相對定位的元素,相對于其正常位置進行定位闽撤。
  • static 默認(rèn)值得哆。沒有定位,元素出現(xiàn)在正常的流中
    *(忽略 top, bottom, left, right z-index 聲明)哟旗。
  • inherit 規(guī)定從父元素繼承 position 屬性的值贩据。
    19、哪些css屬性可以繼承闸餐?
    可繼承: font-size font-family color, ul li dl dd dt;
    不可繼承 :border padding margin width height ;

二饱亮、JS基礎(chǔ)

1、javascript的typeof返回哪些數(shù)據(jù)類型
object number function boolean underfind string

2绎巨、例舉3種強制類型轉(zhuǎn)換和2種隱式類型轉(zhuǎn)換?
強制(parseInt,parseFloat,Number())
隱式(==)
1==”1”//true
null==undefined//true

3近尚、split() join() 的區(qū)別
前者是切割成數(shù)組的形式蠕啄,
后者是將數(shù)組轉(zhuǎn)換成字符串

4场勤、數(shù)組方法pop() push() unshift() shift()
Push()尾部添加 pop()尾部刪除
Unshift()頭部添加 shift()頭部刪除

5、IE和DOM事件流的區(qū)別
1.執(zhí)行順序不一樣歼跟、
2.參數(shù)不一樣
3.事件加不加on
4.this指向問題

6和媳、IE和標(biāo)準(zhǔn)下有哪些兼容性的寫法
var ev = ev || window.event
document.documentElement.clientWidth || document.body.clientWidth
var target = ev.srcElement||ev.target

7、call和apply的區(qū)別
call和apply相同點:
都是為了用一個本不屬于一個對象的方法哈街,讓這個對象去執(zhí)行
toString.call([],1,2,3)
toString.apply([],[1,2,3])

8留瞳、閉包
當(dāng)一個函數(shù)返回它內(nèi)部定義的一個函數(shù)時,就產(chǎn)生了一個閉包
閉包的作用
1骚秦、讓變量長期駐扎在內(nèi)存不被釋放她倘,因為內(nèi)部函數(shù)依賴外部變量璧微,所以垃圾回收機制不會回收外部變量。當(dāng)希望變量不會被重置的時候就可以用到硬梁,比如循環(huán)中直接找到對應(yīng)元素的索引
2前硫、可以通過回調(diào)函數(shù)獲取異步的數(shù)據(jù)
3、把函數(shù)內(nèi)部的數(shù)據(jù)變成外部可以調(diào)用
4荧止、避免全局變量的污染

9屹电、如何阻止事件冒泡和默認(rèn)事件
e. stopPropagation();//標(biāo)準(zhǔn)瀏覽器
event.canceBubble=true;//ie9之前
阻止默認(rèn)事件:
為了不讓a點擊之后跳轉(zhuǎn),我們就要給他的點擊事件進行阻止
return false
e.preventDefault()

10跃巡、添加 刪除 替換 插入到某個接點的方法
obj.appendChild()
obj.insertBefore() //原生的js中不提供insertAfter();
obj.replaceChild()//替換
obj.removeChild()//刪除

11危号、javascript的同源策略
一段腳本只能讀取來自于同一來源的窗口和文檔的屬性,這里的同一來源指的是主機名素邪、協(xié)議和端口號的組合
http,ftp:協(xié)議
主機名外莲;localhost
端口名:80:http協(xié)議的默認(rèn)端口
https:默認(rèn)端口是8083
同源策略帶來的麻煩:ajax在不同域名下的請求無法實現(xiàn),
如果說想要請求其他來源的js文件娘香,或者json數(shù)據(jù)苍狰,那么可以通過jsonp來解決

11、數(shù)組去重
function arr(arr){
var result = [];
for(var i = 0;i<arr.length;i++){
if(result.indexOf(arr[i])==-1){
result.push(arr[i])
}
}
console.log(result);
}
冒泡排序
var arr = [1,22,2,2,4,5,5];
for(var i = 0;i < arr.length - 1 ; i++){
for( var j = 0 ; j < arr.length -1 - i ; j++){
if(arr[j] > arr[j+1]){
var temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
console.log(arr)

12烘绽、怎樣添加淋昭、移除、移動安接、復(fù)制翔忽、創(chuàng)建和查找節(jié)點(原生JS,實在基礎(chǔ)盏檐,沒細(xì)寫每一步)
1)創(chuàng)建新節(jié)點
createDocumentFragment() //創(chuàng)建一個DOM片段
createElement() //創(chuàng)建一個具體的元素
createTextNode() //創(chuàng)建一個文本節(jié)點
2)添加事镣、移除、替換寥闪、插入
appendChild() //添加
removeChild() //移除
replaceChild() //替換
insertBefore() //插入
3)查找
getElementsByTagName() //通過標(biāo)簽名稱
getElementsByName() //通過元素的Name屬性的值
getElementById() //通過元素Id敬飒,唯一性

13、Javascript創(chuàng)建對象的幾種方式硫豆?
工廠方式龙巨,構(gòu)造函數(shù)方式,原型模式熊响,混合構(gòu)造函數(shù)原型模式旨别,動態(tài)原型方式

14、jQuery和Zepto的區(qū)別汗茄?各自的使用場景秸弛?
jQuery主要用于pc端,當(dāng)然有對應(yīng)的jQuerymobile用于移動端,zepto比jQuery更加小巧递览,主要用于移動端
jquer mobile相對于zepto功能強大叼屠,但是體積也很龐大,zepto非常的輕量

15绞铃、針對 jQuery 的優(yōu)化方法环鲤?
a、優(yōu)先使用ID選擇器
b憎兽、jquery獲取到的DOM元素如果需要多次使用冷离,建議使用一個變量將其保存起來,因為操作DOM的過程是非常耗費性能的
c纯命、在class前使用tag(標(biāo)簽名)
d西剥、給選擇器一個上下文
e、慎用 .live()方法(應(yīng)該說盡量不要使用)
f亿汞、使用data()方法存儲臨時變量

16瞭空、對前端界面工程師這個職位是怎么樣理解的?它的前景會怎么樣疗我?
前端是最貼近用戶的程序員咆畏,比后端、數(shù)據(jù)庫吴裤、產(chǎn)品經(jīng)理旧找、運營、安全都近麦牺。
1钮蛛、實現(xiàn)界面交互
2、提升用戶體驗
3剖膳、有了Node.js魏颓,前端可以實現(xiàn)服務(wù)端的一些事情
前端是最貼近用戶的程序員,前端的能力就是能讓產(chǎn)品從 90分進化到 100 分吱晒,甚至更好甸饱,
參與項目,快速高質(zhì)量完成實現(xiàn)效果圖仑濒,精確到1px叹话;
與團隊成員,UI設(shè)計躏精,產(chǎn)品經(jīng)理的溝通渣刷;
做好的頁面結(jié)構(gòu)鹦肿,頁面重構(gòu)和用戶體驗矗烛;
處理hack,兼容、寫出優(yōu)美的代碼格式瞭吃;
針對服務(wù)器的優(yōu)化碌嘀、擁抱最新前端技術(shù)。

17歪架、請用正則表達式寫一個簡單的郵箱驗證股冗。
/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$/;

18、你用過require.js嗎和蚪?它有什么特性止状?
(1)實現(xiàn)js文件的異步加載,避免網(wǎng)頁失去響應(yīng)攒霹;
(2)管理模塊之間的依賴性怯疤,便于代碼的編寫和維護。

19催束、分別闡述split(),slice(),splice(),join()集峦?
join()用于把數(shù)組中的所有元素拼接起來放入一個字符串。所帶的參數(shù)為分割字符串的分隔符抠刺,默認(rèn)是以逗號分開塔淤。歸屬于Array
split()即把字符串分離開,以數(shù)組方式存儲速妖。歸屬于Stringstring
slice() 方法可從已有的數(shù)組中返回選定的元素高蜂。該方法并不會修改數(shù)組,而是返回一個子數(shù)組罕容。如果想刪除數(shù)組中的一段元素妨马,應(yīng)該使用方法 Array.splice()
splice() 方法向/從數(shù)組中添加/刪除項目,然后返回被刪除的項目杀赢。返回的是含有被刪除的元素的數(shù)組烘跺。

20、javascript繼承的 6 種方法脂崔?

  1. 原型鏈繼承
  2. 借用構(gòu)造函數(shù)繼承
  3. 組合繼承(原型+借用構(gòu)造)
  4. 原型式繼承
  5. 寄生式繼承
  6. 寄生組合式繼承

20滤淳、創(chuàng)建對象的6種方式總結(jié)

  1. 字面式創(chuàng)建對象
  2. 工廠模式
  3. 構(gòu)造函數(shù)模式
  4. 原型模式
  5. 混合模式(構(gòu)造函數(shù)模式+原型模式)
  6. new 操作符 + Object 創(chuàng)建對象

21、如何編寫高性能的Javascript砌左?
使用 DocumentFragment 優(yōu)化多次 append
通過模板元素 clone 脖咐,替代 createElement
使用一次 innerHTML 賦值代替構(gòu)建 dom 元素
使用 firstChild 和 nextSibling 代替 childNodes 遍歷 dom 元素
使用 Array 做為 StringBuffer ,代替字符串拼接的操作
將循環(huán)控制量保存到局部變量
順序無關(guān)的遍歷時汇歹,用 while 替代 for
將條件分支屁擅,按可能性順序從高到低排列
在同一條件子的多( >2 )條件分支時,使用 switch 優(yōu)于 if
使用三目運算符替代條件分支
需要不斷執(zhí)行的時候产弹,優(yōu)先考慮使用 setInterval

22派歌、數(shù)組和對象有哪些原生方法,列舉一下?
Array.concat( ) 連接數(shù)組
Array.join( ) 將數(shù)組元素連接起來以構(gòu)建一個字符串
Array.length 數(shù)組的大小
Array.pop( ) 刪除并返回數(shù)組的最后一個元素
Array.push( ) 給數(shù)組添加元素
Array.reverse( ) 顛倒數(shù)組中元素的順序
Array.shift( ) 將元素移出數(shù)組
Array.slice( ) 返回數(shù)組的一部分
Array.sort( ) 對數(shù)組元素進行排序
Array.splice( ) 插入胶果、刪除或替換數(shù)組的元素
Array.toLocaleString( ) 把數(shù)組轉(zhuǎn)換成局部字符串
Array.toString( ) 將數(shù)組轉(zhuǎn)換成一個字符串
Array.unshift( ) 在數(shù)組頭部插入一個元素
Object對象的常用方法
Object.hasOwnProperty( ) 檢查屬性是否被繼承
Object.isPrototypeOf( ) 一個對象是否是另一個對象的原型
Object.propertyIsEnumerable( ) 是否可以通過for/in循環(huán)看到屬性
Object.toLocaleString( ) 返回對象的本地字符串表示
Object.toString( ) 定義一個對象的字符串表示
Object.valueOf( ) 指定對象的原始值

23匾嘱、模塊化開發(fā)怎么做?
理解模塊化開發(fā)模式:瀏覽器端requirejs早抠,seajs霎烙;服務(wù)器端nodejs;ES6模塊化蕊连;fis悬垃、webpack等前端整體模塊化解決方案;grunt甘苍、gulp等前端工作流的使用

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末盗忱,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子羊赵,更是在濱河造成了極大的恐慌趟佃,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昧捷,死亡現(xiàn)場離奇詭異闲昭,居然都是意外死亡,警方通過查閱死者的電腦和手機靡挥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門序矩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人跋破,你說我怎么就攤上這事簸淀。” “怎么了毒返?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵租幕,是天一觀的道長。 經(jīng)常有香客問我拧簸,道長劲绪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任盆赤,我火速辦了婚禮贾富,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘牺六。我一直安慰自己颤枪,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布淑际。 她就那樣靜靜地躺著畏纲,像睡著了一般扇住。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上霍骄,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天,我揣著相機與錄音淡溯,去河邊找鬼读整。 笑死,一個胖子當(dāng)著我的面吹牛咱娶,可吹牛的內(nèi)容都是我干的米间。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼膘侮,長吁一口氣:“原來是場噩夢啊……” “哼屈糊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起琼了,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤逻锐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后雕薪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體昧诱,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年所袁,在試婚紗的時候發(fā)現(xiàn)自己被綠了盏档。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡燥爷,死狀恐怖蜈亩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情前翎,我是刑警寧澤稚配,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站港华,受9級特大地震影響药有,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜苹丸,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一愤惰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧赘理,春花似錦宦言、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蜘澜。三九已至,卻和暖如春响疚,著一層夾襖步出監(jiān)牢的瞬間鄙信,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工忿晕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留装诡,地道東北人。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓践盼,卻偏偏與公主長得像鸦采,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子咕幻,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,779評論 2 354

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

  • 在線閱讀 http://interview.poetries.top[http://interview.poetr...
    程序員poetry閱讀 114,377評論 24 450
  • <a name='html'>HTML</a> Doctype作用渔伯?標(biāo)準(zhǔn)模式與兼容模式各有什么區(qū)別? (1)、<...
    clark124閱讀 3,474評論 1 19
  • ?前端面試題匯總 一肄程、HTML和CSS 21 你做的頁面在哪些流覽器測試過锣吼?這些瀏覽器的內(nèi)核分別是什么? ...
    Simon_s閱讀 2,220評論 0 8
  • 是誰給小巷的人生鍍上了日落的色彩 這被歲月擦亮的石板路又收存了多少過客的俳徊 當(dāng)麗江的時光將你掃入塵埃 又還有哪一...
    夢雙眸閱讀 532評論 1 4
  • 磨刀者 磨刀不誤砍柴工。通過“思考思考的方式”蓝厌、“學(xué)習(xí)怎樣去學(xué)習(xí)”等的元認(rèn)知活動吐限,能大大提升自己產(chǎn)出的效率。而且在...
    喵喵僧閱讀 420評論 1 0