1. 關於變數、函式提公升、建構函式
functionfoo() //
當此函式執行時,覆蓋全域性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...