前端面試題
1、說(shuō)說(shuō)你對(duì) this 的理解?
答、this 是一個(gè)關(guān)鍵字,它代表函數(shù)運(yùn)行時(shí),自動(dòng)生成的一個(gè)內(nèi)部對(duì)象,只能在函數(shù)
內(nèi)部使用。
1.作為純粹的函數(shù)調(diào)用 this 指向全局對(duì)象
2.作為對(duì)象的方法調(diào)用 this 指向調(diào)用對(duì)象
3.作為構(gòu)造函數(shù)被調(diào)用 this 指向新的對(duì)象(new 會(huì)改變 this 的指向)
4.apply 調(diào)用 this 指向 apply 方法的第一個(gè)參數(shù)
2、介紹一下 JS 有哪些內(nèi)置對(duì)象。
Object 是 JavaScript 中所有對(duì)象的父對(duì)象
數(shù)據(jù)封裝類對(duì)象:Object、Array、Boolean、Number、String
其他對(duì)象:Function、Argument、Math、Date、RegExp、Error
3、表單驗(yàn)證傳輸?shù)氖裁磾?shù)據(jù)?明文還是暗文==加密?如何加密?是每一次傳
輸數(shù)據(jù),都是加密之后才傳輸嗎?
答、概述:
GET 是從服務(wù)器上請(qǐng)求數(shù)據(jù),POST 是發(fā)送數(shù)據(jù)到服務(wù)器。事實(shí)上,GET 方法是把數(shù)
據(jù)參數(shù)隊(duì)列(query string)加到一個(gè) URL 上,值和表單是一一對(duì)應(yīng)的。比如說(shuō),
name=John。在隊(duì)列里,值和表單用一個(gè)&符號(hào)分開(kāi),空格用+號(hào)替換,特殊的符號(hào)轉(zhuǎn)換
成十六進(jìn)制的代碼。因?yàn)檫@一隊(duì)列在 URL 里邊,這樣隊(duì)列的參數(shù)就能看得到,可以被記錄
下來(lái),或更改。通常 GET 方法還限制字符的大?。ù蟾攀?256 字節(jié) )。
事實(shí)上 POST 方法可以沒(méi)有時(shí)間限制的傳遞數(shù)據(jù)到服務(wù)器,用戶在瀏覽器端是看不到
這一過(guò)程的,所以 POST 方法比較適合用于發(fā)送一個(gè)保密的(比如信用 卡號(hào))或者比較
大量的數(shù)據(jù)到服務(wù)器。
區(qū)別:
Post 是允許傳輸大量數(shù)據(jù)的方法,而 Get 方法會(huì)將所要傳輸?shù)臄?shù)據(jù)附在網(wǎng)址后面,然
后一起送達(dá)服務(wù)器,因此傳送的數(shù)據(jù)量就會(huì)受到限制,但是執(zhí)行效率卻比 Post 方法好。
總結(jié):
1、get 方式的安全性較 Post 方式要差些,包含機(jī)密信息的話,建議用 Post 數(shù)據(jù)提
交方式;
2、在做數(shù)據(jù)查詢時(shí),建議用 Get 方式;而在做數(shù)據(jù)添加、修改或刪除時(shí),建議用
Post 方式;
所以:
表達(dá)如果是向服務(wù)器傳輸數(shù)據(jù)(如帳號(hào)密碼等)都是加密數(shù)據(jù)(post), 如果只是單單想
要從服務(wù)器獲得數(shù)據(jù)或者傳輸?shù)臄?shù)據(jù)并不重要, 可以直接使用明文方式傳輸( get )