「乾貨分享」前端面試知識點錦集(JavaScript篇)

「乾貨分享」前端面試知識點錦集(JavaScript篇)

1、談談你對Ajax的理解?(概念、特點、作用)

AJAX全稱為“AsynchronousJavaScript And XML”(異步JavaScript和XML)是指一種創建交互式網頁應用的開發技術、改善用戶體驗,實現無刷新效果。

優點

  1. 不需要插件支持
  2. 優秀的用戶體驗
  3. 提高Web程序的性能
  4. 減輕服務器和帶寬的負擔

缺點

  1. 破壞瀏覽器“前進”、“後退”按鈕的正常功能,可以通過簡單的插件彌補
  2. 對搜索引擎的支持不足

2、說說你對延遲對象deferred的理解?

deferred對象是從jQuery1.5.0版本開始引入的一個新功能。

a、什麼是deferred對象

開發網站的過程中,我們經常遇到某些耗時很長的javascript操作。其中,既有異步的操作(比如ajax讀取服務器數據),也有同步的操作(比如遍歷一個大型數組),它們都不是立即能得到結果的。通常的做法是,為它們指定回調函數(callback)。即事先規定,一旦它們運行結束,應該調用哪些函數。但是,在回調函數方面,jQuery的功能非常弱。為了改變這一點,jQuery開發團隊就設計了deferred對象。簡單說,deferred對象就是jQuery的回調函數解決方案。在英語中,defer的意思是”延遲”,所以deferred對象的含義就是”延遲”到未來某個點再執行。它解決了如何處理耗時操作的問題,對那些操作提供了更好的控制,以及統一的編程接口。

b、它的主要功能,可以歸結為四點:

(1)、實現鏈式操作

(2)、指定同一操作的多個回調函數

(3)、為多個操作指定回調函數

(4)、普通操作的回調函數接口

3、什麼是跨域,如何實現跨域訪問?

跨域是指不同域名之間相互訪問。JavaScript同源策略的限制,A域名下的JavaScript無法操作B或是C域名下的對象

「乾貨分享」前端面試知識點錦集(JavaScript篇)

實現:

  1. 、JSONP跨域:利用script腳本允許引用不同域下的js實現的,將回調方法帶入服務器,返回結果時回調。

(2)、跨域資源共享(CORS)跨域資源共享(CORS)是一種網絡瀏覽器的技術規範,它為Web服務器定義了一種方式,允許網頁從不同的域訪問其資源。

CORS與JSONP相比:

  1. JSONP只能實現GET請求,而CORS支持所有類型的HTTP請求。
  2. 使用CORS,開發者可以使用普通的XMLHttpRequest發起請求和獲得數據,比起JSONP有更好的錯誤處理。
  3. JSONP主要被老的瀏覽器支持,它們往往不支持CORS,而絕大多數現代瀏覽器都已經支持了CORS。

4、為什麼要使用模板引擎?

a、模板引擎(這裡特指用於Web開發的模板引擎)是為了使用戶界面與業務數據(內容)分離而產生的,它可以生成特定格式的文檔,用於網站的模板引擎就會生成一個標準的HTML文檔。

b、在一些示例中javascript有大量的html字符串,html中有一些像onclick樣的javascript,這樣javascript中有html,html中有javascript,代碼的偶合度很高,不便於修改與維護,使用模板引擎可以解決問題。

5、JavaScript是一門什麼樣的語言,它有哪些特點?

JavaScript是一種腳本語言,官方名稱為ECMAScript(因定義語言的標準為ECMA-262)。JS的主要特點:a、語法類似於常見的高級語言,如C和Java;b、腳本語言,不需要編譯就可以由解釋器直接運行;c、變量鬆散定義,屬於弱類型語言; d、面向對象的。JS最初是為網頁設計而開發的,現在也是Web開發的重要語言。它支持對瀏覽器(瀏覽器對象模型,BOM)和HTML文檔(文檔對象模型,DOM)進行操作而使網頁呈現動態的交互特性。嚴格的說,JS只是ECMAScript的一種實現,是ECMAScript和BOM、DOM組成的一種Web開發技術。

6、JavaScript的數據類型有哪些?

基本數據類型:字符串String、數字Number、布爾Boolean複合數據類型:數組Array、對象Object特殊數據類型:Null空對象、Undefined未定義

7、已知ID的Input輸入框,如何獲取這個輸入框的輸入值?(不使用第三方框架)

「乾貨分享」前端面試知識點錦集(JavaScript篇)

8、根據你的理解,請簡述JavaScript腳本的執行原理?

JavaScript是一種動態、弱類型、基於原型的語言,通過瀏覽器可以直接執行。當瀏覽器遇到


分享到:


相關文章: