1,說說嚴(yán)格模式的限制
嚴(yán)格模式主要有以下限制:
變量必須聲明后再使用
不能刪除變量delete prop蓄坏,會(huì)報(bào)錯(cuò),只能刪除屬性delete global[prop]
eval不會(huì)在它的外層作用域引入變量
eval和arguments不能被重新賦值
不能使用arguments.caller
禁止this指向全局對(duì)象
不能使用fn.caller和fn.arguments獲取函數(shù)調(diào)用的堆棧
2. 設(shè)立"嚴(yán)格模式"的目的次坡,主要有以下幾個(gè):
消除Javascript語(yǔ)法的一些不合理疼约、不嚴(yán)謹(jǐn)之處,減少一些怪異行為;
消除代碼運(yùn)行的一些不安全之處逃贝,保證代碼運(yùn)行的安全谣辞;
提高編譯器效率,增加運(yùn)行速度沐扳;
為未來新版本的Javascript做好鋪墊泥从。
注:經(jīng)過測(cè)試IE6,7,8,9均不支持嚴(yán)格模式。
3. 說說你對(duì)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)用層、表示層奕筐、會(huì)話層(從上往下)(HTTP舱痘、FTP变骡、SMTP、DNS)
傳輸層(TCP和UDP)
網(wǎng)絡(luò)層(IP)
物理和數(shù)據(jù)鏈路層(以太網(wǎng))
每一層的作用如下:
物理層:通過媒介傳輸比特,確定機(jī)械及電氣規(guī)范(比特Bit)
數(shù)據(jù)鏈路層:將比特組裝成幀和點(diǎn)到點(diǎn)的傳遞(幀F(xiàn)rame)
網(wǎng)絡(luò)層:負(fù)責(zé)數(shù)據(jù)包從源到宿的傳遞和網(wǎng)際互連(包PackeT)
傳輸層:提供端到端的可靠報(bào)文傳遞和錯(cuò)誤恢復(fù)(段Segment)
會(huì)話層:建立芭逝、管理和終止會(huì)話(會(huì)話協(xié)議數(shù)據(jù)單元SPDU)
表示層:對(duì)數(shù)據(jù)進(jìn)行翻譯塌碌、加密和壓縮(表示協(xié)議數(shù)據(jù)單元PPDU)
應(yīng)用層:允許訪問OSI環(huán)境的手段(應(yīng)用協(xié)議數(shù)據(jù)單元APDU)
5. 什么樣的前端代碼是好的
高復(fù)用低耦合,這樣文件小旬盯,好維護(hù)台妆,而且好擴(kuò)展。
6. 三次握手
1)客戶端向服務(wù)端發(fā)送連接請(qǐng)求(發(fā)送SYN包胖翰,進(jìn)入SYN-SEND狀態(tài))(第一次握手)接剩;
2)服務(wù)端接收到連接請(qǐng)求后,同意向客戶端建立連接(發(fā)送ACK-SYN包萨咳,進(jìn)入SYN-RCVD狀態(tài))(第二次握手)懊缺;
3)客戶端接收到服務(wù)端的同意后,與服務(wù)端確認(rèn)建立連接(第三次握手)培他。
客戶端和服務(wù)端就建立起了連接鹃两,可以傳輸數(shù)據(jù)了。
7. 四次揮手:
1)客戶端向服務(wù)端發(fā)送斷開連接請(qǐng)求(FIN=1舀凛,進(jìn)入FIN-WAIT-1狀態(tài))(第一次揮手)俊扳;
2)服務(wù)端接收到斷開請(qǐng)求后,同意向客戶端斷開連接猛遍,但是還有數(shù)據(jù)在傳輸馋记,要等數(shù)據(jù)先傳輸完,所以先告知客戶端收到斷開請(qǐng)求了(進(jìn)入CLOSE-WAIT狀態(tài))(第二次揮手)懊烤;
3)服務(wù)端數(shù)據(jù)傳輸完成后梯醒,告知客戶端,要關(guān)閉連接了(第三次揮手)奸晴;
4)客戶端接收到服務(wù)端的斷開連接消息后冤馏,告知服務(wù)端已收到斷開連接的消息(第四次揮手);
客戶端和服務(wù)端就關(guān)閉了連接寄啼。
8 .題當(dāng)我們?cè)跒g覽器網(wǎng)址中輸入一個(gè)地址逮光,點(diǎn)擊回車后發(fā)生了什么事情。
分為兩種情況墩划,http事務(wù)和https事務(wù)涕刚。先講http事務(wù):
1、瀏覽器(客戶端)進(jìn)行地址解析乙帮。
2杜漠、將解析出的域名進(jìn)行dns解析。
3、通過ip尋址和arp驾茴,找到目標(biāo)(服務(wù)器)地址盼樟。
4、進(jìn)行tcp三次握手锈至,建立tcp連接晨缴。
5、瀏覽器發(fā)送數(shù)據(jù)峡捡,等待服務(wù)器響應(yīng)击碗。
6、服務(wù)器處理請(qǐng)求们拙,并對(duì)請(qǐng)求做出響應(yīng)稍途。
7、瀏覽器收到服務(wù)器響應(yīng)砚婆,得到html代碼械拍。
8、渲染頁(yè)面射沟。