面試題

性能優化的方法

(1)減少http請求次數,CSS Scriptes,Js,Css源碼壓縮,圖片大小控制合適;網頁Gzip, cdn托管,data緩存,圖片服務器
(2)前端模板js+數據,減少由Html標簽導致的帶寬浪費,前端用變量保存ajax請求結果,每次操作本地變量,不用請求,減少請求次數。
(3)用innerHTML代替DOM操作次數,優化javascript性能
(4)當需要設置的樣式很多時設置className而不是直接操作style。
(5)少用全局變量,緩沖Dom節點查找的結果,減少io讀取操作
(6)避免cssExpreion(css表達式)
(7)圖片預加載,將樣式放在頂部;將腳本放在底部 加上時間戳

null和undefined的區別

null是一個表示“無”的對象,轉為數值時為0;
undefined是一個代表“無”的原始值,轉為數值為NAN
undefined:
(1)變量聲明,但是沒有賦值,就等于undefined。
(2)調用函數時,應提供的參數沒有提供,該參數等于undefined
(3)對象沒有賦值的屬性,
(4)函數沒有返回值
null:
(1)作為函數的參數,表示該函數的參數 表示對象
(2)作為對象原型鏈的終點

new操作符具體干了什么呢?

(1)創建一個空對象,并且 this 變量引用該對象,同時還繼承了該函數的原型。
(2)屬性和方法被加入到 this 引用的對象中。
(3)新創建的對象由 this 所引用,并且最后隱式的返回 this

call() 和 apply() 的區別和作用?

apply()函數有兩個參數:第一個參數是上下文,第二個參數是參數組成的數組。如果上下文是null,則使用全局對象代替。
如:function.apply(this,[1,2,3]);
call()的第一個參數是上下文,后續是實例傳入的參數序列。
如:function.call(this,1,2,3);

頁面導入樣式時,使用link和@import有什么區別?

(1)link屬于XHTML標簽,除了加載CSS外,還能用于定義RSS, 定義rel連接屬性等作用;而@import是CSS提供的,只能用于加載CSS;
(2)頁面被加載的時,link會同時被加載,而@import引用的CSS會等到頁面被加載完再加載;
(3)import是CSS2.1 提出的,只在IE5以上才能被識別,而link是XHTML標簽,無兼容問題;

.iframe有那些缺點?

(1)iframe會阻塞主頁面的Onload事件;
(2)搜索引擎的檢索程序無法解讀這種頁面,不利于SEO;
(3)iframe和主頁面共享連接池,而瀏覽器對相同域的連接有限制,所以會影響頁面的并行加載。
(4)使用iframe之前需要考慮這兩個缺點。如果需要使用iframe,最好是通過javascript動態給iframe添加src屬性值,這樣可以繞開以上兩個問題

為什么要使用CSS sprites

CSS Sprites其實就是把網頁中一些背景圖片整合到一張圖片文件中,再利用CSS的“background-image”,“background-position”的組合進行背景定位,這樣可以減少很多圖片請求的開銷,因為請求耗時比較長;請求雖然可以并發,但是如果請求太多會給服務器增加很大的壓力。

display:none和visibility:hidden的區別?

display:none 隱藏對應的元素,在文檔布局中不再給它分配空間,它各邊的元素會合攏,就當他從來不存在。
visibility:hidden 隱藏對應的元素,但是在文檔布局中仍保留原來的空間。

position的absolute與fixed區別

absolute浮動定位是相對于父級中設置position為relative或者absolute最近的父級元素
fixed浮動定位是相對于瀏覽器視窗的

IE 8以下版本的瀏覽器中的盒模型有什么不同?

IE8以下瀏覽器的盒模型中定義的元素的寬高不包括內邊距和邊框

ajax 有那些優缺點?如何解決跨域問題?

優點:
(1)通過異步模式,提升了用戶體驗.
(2)優化了瀏覽器和服務器之間的傳輸,減少不必要的數據往返,減少了帶寬占用.
(3)Ajax在客戶端運行,承擔了一部分本來由服務器承擔的工作,減少了大用戶量下的服務器負載。
(4)Ajax可以實現動態不刷新(局部刷新)

缺點:
(1)安全問題 AJAX暴露了與服務器交互的細節。
(2)對搜索引擎的支持比較弱。
(3)不容易調試。
(Q2)jsonp、 iframe、window.name、window.postMessage、服務器上設置代理頁面。

JavaScript原型,原型鏈 ? 有什么特點?

(1)原型對象也是普通的對象,是對象一個自帶隱式的 proto 屬性,原型也有可能有自己的原型,如果一個原型對象的原型不為null的話,我們就稱之為原型鏈。
(2)原型鏈是由一些用來繼承和共享屬性的對象組成的(有限的)對象鏈。

GET和POST的區別,何時使用POST?

GET:一般用于信息獲取,使用URL傳遞參數,對所發送信息的數量也有限制,一般在2000個字符
POST:一般用于修改服務器上的資源,對所發送的信息沒有限制。
GET方式需要使用Request.QueryString來取得變量的值,而POST方式通過Request.Form來獲取變量的值,
也就是說Get是通過地址欄來傳值,而Post是通過提交表單來傳值。
然而,在以下情況中,請使用 POST 請求:
無法使用緩存文件(更新服務器上的文件或數據庫)
向服務器發送大量數據(POST 沒有數據量限制)
發送包含未知字符的用戶輸入時,POST 比 GET 更穩定也更可靠

請解釋一下 JavaScript 的同源策略

概念:同源策略是客戶端腳本(尤其是Javascript)的重要的安全度量標準。
這里的同源策略指的是:協議,域名,端口相同,同源策略是一種安全協議。
指一段腳本只能讀取來自同一來源的窗口和文檔的屬性。
為什么要有同源限制?
我們舉例說明:比如一個黑客程序,他利用Iframe把真正的銀行登錄頁面嵌到他的頁面上,當你使用真實的用戶名,密碼登錄時,他的頁面就可以通過Javascript讀取到你的表單中input中的內容,這樣用戶名,密碼就輕松到手了。

Flash、Ajax各自的優缺點,在使用中如何取舍?

Flash適合處理多媒體、矢量圖形、訪問機器;對CSS、處理文本上不足,不容易被搜索。
Ajax對CSS、文本支持很好,支持搜索;多媒體、矢量圖形、機器訪問不足。
共同點:與服務器的無刷新傳遞消息、用戶離線和在線狀態、操作DOM

什么是閉包?

閉包,官方對閉包的解釋是:一個擁有許多變量和綁定了這些變量的環境的表達式(通常是一個函數),因而這些變量也是該表達式的一部分。
閉包的特點:
(1)作為一個函數變量的一個引用,當函數返回時,其處于激活狀態。
(2) 一個閉包就是當一個函數返回時,一個沒有釋放資源的棧區。
簡單的說,Javascript允許使用內部函數---即函數定義和函數表達式位于另一個函數的函數體內。而且,這些內部函數可以訪問它們所在的外部函數中聲明的所有局部變量、參數和聲明的其他內部函數。當其中一個這樣的內部函數在包含它們的外部函數之外被調用時,就會形成閉包。

javascript里面的繼承怎么實現,如何避免原型鏈上面的對象共享

用構造函數和原型鏈的混合模式去實現繼承,避免對象共享可以參考經典的extend()函數,很多前端框架都有封裝的,就是用一個空函數當做中間變量

ajax過程

(1)創建XMLHttpRequest對象,也就是創建一個異步調用對象.
(2)創建一個新的HTTP請求,并指定該HTTP請求的方法、URL及驗證信息.
(3)設置響應HTTP請求狀態變化的函數.
(4)發送HTTP請求.
(5)獲取異步調用返回的數據.
(6)使用JavaScript和DOM實現局部刷新.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,646評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,595評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,560評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,035評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,814評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,224評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,301評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,444評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,988評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,804評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,998評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,544評論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,237評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,665評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,927評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,706評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,993評論 2 374

推薦閱讀更多精彩內容

  • 在線閱讀 http://interview.poetries.top[http://interview.poetr...
    前端進階之旅閱讀 114,524評論 24 450
  • 1.幾種基本數據類型?復雜數據類型?值類型和引用數據類型?堆棧數據結構? 基本數據類型:Undefined、Nul...
    極樂君閱讀 5,555評論 0 106
  • 很早之前就在看web前端面試題,一直想總結一個比較全面又詳細的面試題庫,現在總結了一些,分享給大家,以后還會持續更...
    櫻桃小丸子兒閱讀 85,639評論 32 691
  • 考慮問題從以下方面對問題分析: 1、我的基本目的是什么 2、關于這個問題我的基本觀點是什么 3、我的推理和假設是什...
    高飛翔閱讀 344評論 0 2
  • 以貌取人,絕對科學。性格寫在唇邊,幸福露在眼角。理性感性寄于聲線,真誠虛偽映在瞳仁。站姿看出才華氣度,步態可見自我...
    小淑愛酷仔閱讀 561評論 0 0