JS綜合面試

2022-09-07 12:39:10 字數 2362 閱讀 8065

1. 關於變數、函式提公升、建構函式

function

foo() //

當此函式執行時,覆蓋全域性getname

return

this;

} foo.getname = function()

foo.prototype.getname = function()

var getname = function()

function getname() //

變數提公升被上面的賦值覆蓋

//寫出下列輸出結果

foo.getname() //

2 getname() //

4 foo().getname() //

1 getname() //

1new foo.getname() //

2 執行函式並建立乙個例項

new foo().getname() //

3 執行foo例項的方法 -->( (new foo()).getname )()

newnew foo().getname() //

3 同上 不過建立了乙個foo.prototype.getname例項

2. 節流與防抖

/*

節流: 函式在規定的執行週期類 只有第一次觸發的函式能被執行

應用場景:需要頻繁觸發的函式 ,處於優化型角度

@param:fn 要被執行的函式

@param:delay 執行的時間週期

*/function throttle(fn,delay)

}/*防抖: 函式在規定的執行週期類 只有第最後一次觸發的函式能被執行

*/function debounce(fn,delay),delay)

}}

3. 實現跨域方式

//

1.jsonp,利用script標籤src實現跨域,僅支援get請求

//注意:伺服器返回的響應得是js**(script才能識別)

function fn(data)

//建立script標籤

/*伺服器端:

//要返回的資料

const data =

//將資料轉為字串

const str = json.stringfy(data)

//返回資料

response.end(`fn($)`)

}*/

4.從url位址到最終頁面渲染,經歷了哪些階段?

-- 瀏覽器dns快取

-- 系統dns快取

-- 路由器dns快取

-- 網路運營商dns快取

-- 遞迴搜尋:blog.baidu.com

-- .com網域名稱下查詢dns解析

-- .baidu網域名稱下查詢dns解析

-- .blog網域名稱下查詢dns解析

-- 如果以上都找不到,出錯

2)tcp連線,tcp三次握手

-- 第一次:瀏覽器發起,告訴伺服器我要傳送請求了

-- 第二次:伺服器發起,告訴瀏覽器我準備接收了,你發吧

-- 第三次:瀏覽器發起,告訴伺服器我馬上就發,準備接收

3)傳送請求

-- 請求報文,http請求報文

4)接收響應

-- 響應報文

5)渲染頁面

-- 遇見html標籤,瀏覽器呼叫html解析器解析成token並構建成dom樹

-- 遇見style/link標籤,瀏覽器呼叫css解析器,處理css標記並構建cssom樹

-- 遇見script標籤,呼叫j**ascript解析器,處理script**(繫結事件,修改dom樹/cssom樹)

-- 將dom樹與cssom樹合併為一棵渲染樹

-- 根據渲染樹來計算布局,計算每個節點的幾何資訊(布局)

-- 將各個節點顏色繪製到螢幕上(渲染)

注意:這五個步驟一定按照順序執行,如果dom樹或cssom樹被修改了,可能會執行多次布局和渲染。往往頁面會執行多次這些步驟

6)斷開連線,tcp四次握手

-- 第一次:瀏覽器發起,告訴伺服器我的請求傳送完了

-- 第二次:伺服器發起,告訴瀏覽器你的請求我已經接受完了

-- 第三次:伺服器發起,告訴瀏覽器我的響應傳送完了,你準備關閉吧

-- 第四次:瀏覽器發起,你的響應我已經接收完了,你關閉吧

Js綜合面試題 01

1 變數提公升和函式提公升 2 this指向 3 變數查詢規則及作用域 4 運算子優先順序 5 例項物件查詢屬性 隱式原型鏈 function foo foo.getname function foo.prototype.getname function var getname function f...

php 面試 綜合問題

1 假如你是技術組長?如何提高團隊效率?2 web不安全因素有哪些?分別如何防範?3 php在2011年底出現hash碰撞,hash碰撞原理為?如何進行修復?4 session和cookie生存週期區別?儲存位置區別?5 給你兩個路徑a和b,寫乙個演算法或思路計算a和b差距幾層並顯示a和b的交集?6...

js面試題, 函式提公升, 變數提公升,綜合測試

function foo return this foo.getname function foo.prototype.getname function var getname function function getname foo.getname 2 getname 4 foo getname...