1,說說嚴(yán)格模式的限制
嚴(yán)格模式主要有以下限制:
變量必須聲明后再使用
不能刪除變量delete prop,會報錯,只能刪除屬性delete global[prop]
eval不會在它的外層作用域引入變量
eval和arguments不能被重新賦值
不能使用arguments.caller
禁止this指向全局對象
不能使用fn.caller和fn.arguments獲取函數(shù)調(diào)用的堆棧
2. 設(shè)立"嚴(yán)格模式"的目的,主要有以下幾個:
消除Javascript語法的一些不合理、不嚴(yán)謹(jǐn)之處,減少一些怪異行為;
消除代碼運行的一些不安全之處,保證代碼運行的安全;
提高編譯器效率,增加運行速度;
為未來新版本的Javascript做好鋪墊。
注:經(jīng)過測試IE6,7,8,9均不支持嚴(yán)格模式。
3. 說說你對MVC和MVVM的理解
MVC:
View 傳送指令到 Controller
Controller 完成業(yè)務(wù)邏輯后,要求 Model 改變狀態(tài)
Model 將新的數(shù)據(jù)發(fā)送到 View,用戶得到反饋
所有通信都是單向的。
MVVM:
組成部分Model、View、ViewModel
View:UI界面
ViewModel:它是View的抽象,負(fù)責(zé)View與Model之間信息轉(zhuǎn)換,將View的Command傳送到Model;
Model:數(shù)據(jù)訪問層
4. 說說網(wǎng)絡(luò)分層里七層模型
應(yīng)用層:應(yīng)用層、表示層、會話層(從上往下)(HTTP、FTP、SMTP、DNS)
傳輸層(TCP和UDP)
網(wǎng)絡(luò)層(IP)
物理和數(shù)據(jù)鏈路層(以太網(wǎng))
每一層的作用如下:
物理層:通過媒介傳輸比特,確定機械及電氣規(guī)范(比特Bit)
數(shù)據(jù)鏈路層:將比特組裝成幀和點到點的傳遞(幀F(xiàn)rame)
網(wǎng)絡(luò)層:負(fù)責(zé)數(shù)據(jù)包從源到宿的傳遞和網(wǎng)際互連(包PackeT)
傳輸層:提供端到端的可靠報文傳遞和錯誤恢復(fù)(段Segment)
會話層:建立、管理和終止會話(會話協(xié)議數(shù)據(jù)單元SPDU)
表示層:對數(shù)據(jù)進行翻譯、加密和壓縮(表示協(xié)議數(shù)據(jù)單元PPDU)
應(yīng)用層:允許訪問OSI環(huán)境的手段(應(yīng)用協(xié)議數(shù)據(jù)單元APDU)
5. 什么樣的前端代碼是好的
高復(fù)用低耦合,這樣文件小,好維護,而且好擴展。
6. 三次握手
1)客戶端向服務(wù)端發(fā)送連接請求(發(fā)送SYN包,進入SYN-SEND狀態(tài))(第一次握手);
2)服務(wù)端接收到連接請求后,同意向客戶端建立連接(發(fā)送ACK-SYN包,進入SYN-RCVD狀態(tài))(第二次握手);
3)客戶端接收到服務(wù)端的同意后,與服務(wù)端確認(rèn)建立連接(第三次握手)。
客戶端和服務(wù)端就建立起了連接,可以傳輸數(shù)據(jù)了。
7. 四次揮手:
1)客戶端向服務(wù)端發(fā)送斷開連接請求(FIN=1,進入FIN-WAIT-1狀態(tài))(第一次揮手);
2)服務(wù)端接收到斷開請求后,同意向客戶端斷開連接,但是還有數(shù)據(jù)在傳輸,要等數(shù)據(jù)先傳輸完,所以先告知客戶端收到斷開請求了(進入CLOSE-WAIT狀態(tài))(第二次揮手);
3)服務(wù)端數(shù)據(jù)傳輸完成后,告知客戶端,要關(guān)閉連接了(第三次揮手);
4)客戶端接收到服務(wù)端的斷開連接消息后,告知服務(wù)端已收到斷開連接的消息(第四次揮手);
客戶端和服務(wù)端就關(guān)閉了連接。
8 .題當(dāng)我們在瀏覽器網(wǎng)址中輸入一個地址,點擊回車后發(fā)生了什么事情。
分為兩種情況,http事務(wù)和https事務(wù)。先講http事務(wù):
1、瀏覽器(客戶端)進行地址解析。
2、將解析出的域名進行dns解析。
3、通過ip尋址和arp,找到目標(biāo)(服務(wù)器)地址。
4、進行tcp三次握手,建立tcp連接。
5、瀏覽器發(fā)送數(shù)據(jù),等待服務(wù)器響應(yīng)。
6、服務(wù)器處理請求,并對請求做出響應(yīng)。
7、瀏覽器收到服務(wù)器響應(yīng),得到html代碼。
8、渲染頁面。