面試問題

1. JavaScript原型,原型鏈 ? 有什么特點撇他?

  • Js所有的函數(shù)都有一個prototype屬性逛裤,這個屬性引用了一個對象,即原型對象启涯,也簡稱原型
  • 原型鏈:由于原型對象本身也是對象贬堵,而每個javascript對象都有一個原型對象恃轩,每個對象都有一個隱藏的proto屬性,原型對象也有自己的原型黎做,而它自己的原型對象又可以有自己的原型叉跛,這樣就組成了一條鏈,這個就是原型鏈蒸殿。在訪問對象的屬性時筷厘,如果在對象本身中沒有找到,則會去原型鏈中查找宏所,如果找到酥艳,直接返回值,如果整個鏈都遍歷且沒有找到屬性楣铁,則返回undefined玖雁。原型鏈一般實現(xiàn)為一個鏈表,這樣就可以按照一定的順序來查找盖腕。
  • 例子
function Person(name){
    this.name = name;
}
Person.prototype.sayName = function(){
    console.log('My name is :' + this.name);
}
var p = new Person("若愚")
p.sayName();
原型鏈示意圖

2. 什么是閉包(closure)赫冬,為什么要用它?

閉包定義過于晦澀
我理解的是 外部函數(shù)持有內(nèi)部變量溃列,且不會被銷毀劲厌,閉包就是將函數(shù)內(nèi)部和函數(shù)外部連接起來的一座橋梁。
作用也就是利用他的特點听隐,可以讀取函數(shù)內(nèi)部的變量补鼻,讓這些變量的值始終保持在內(nèi)存中。

3. 如何解決跨域問題?

跨域:從一個頁面去請求讀或者寫另一個頁面的資源雅任,突破同源策略的限制风范。
跨域的幾種方式:

  • 主域名相同,子域不同的沪么,如:child.a.html和a.html可通過設(shè)置document.domain = a.html達到降域的目的硼婿,實現(xiàn)跨域訪問。問題:
    1禽车、安全性寇漫,當一個站點(b.a.com)被攻擊后,另一個站點(c.a.com)會引起安全漏洞殉摔。
    2州胳、如果一個頁面中引入多個iframe,要想能夠操作所有iframe逸月,必須都得設(shè)置相同domain栓撞。
  • JSONP(json with padding),只支持get請求,無法判斷請求是否失斖胗病(不會返回各種HTTP狀態(tài)碼)瓤湘,安全性不高捌归,假如提供jsonp的服務(wù)存在頁面注入漏洞,那么所有調(diào)用這個jsonp的網(wǎng)站都會存在漏洞岭粤。但它的兼容性很好,在許多老版本瀏覽器上都可以運行特笋,不想XMLHttpRequest對象實現(xiàn)的Ajax請求那樣收到同源策略的限制剃浇。
  • CORS (cross-origin-resource-sharing)
    CORS是一個W3C標準,全稱是"跨域資源共享"(Cross-origin resource sharing)猎物。它允許瀏覽器向跨源服務(wù)器虎囚,發(fā)出XMLHttpRequest請求,從而克服了AJAX只能同源使用的限制蔫磨。CORS需要瀏覽器和服務(wù)器同時支持淘讥。目前,所有瀏覽器都支持該功能堤如,IE瀏覽器不能低于IE10蒲列。整個CORS通信過程,都是瀏覽器自動完成搀罢,不需要用戶參與蝗岖。對于開發(fā)者來說,CORS通信與同源的AJAX通信沒有差別榔至,代碼完全一樣抵赢。瀏覽器一旦發(fā)現(xiàn)AJAX請求跨源,就會自動添加一些附加的頭信息唧取,有時還會多出一次附加的請求铅鲤,但用戶不會有感覺。因此枫弟,實現(xiàn)CORS通信的關(guān)鍵是服務(wù)器邢享。只要服務(wù)器實現(xiàn)了CORS接口,就可以跨源通信媒区。CORS與JSONP的使用目的相同驼仪,但是比JSONP更強大。JSONP只支持GET請求袜漩,CORS支持所有類型的HTTP請求绪爸。JSONP的優(yōu)勢在于支持老式瀏覽器,以及可以向不支持CORS的網(wǎng)站請求數(shù)據(jù)宙攻。
  • html5中新規(guī)定的window.postMessage來實現(xiàn)跨域奠货。

4. 一個頁面從輸入 URL 到頁面加載顯示完成,這個過程中都發(fā)生了什么座掘?

1递惋、瀏覽器會開啟一個線程來處理這個請求柔滔,對 URL 分析判斷如果是 http 協(xié)議就按照 Web 方式來處理;
2、調(diào)用瀏覽器內(nèi)核中的對應(yīng)方法萍虽,比如 WebView 中的 loadUrl 方法;
3睛廊、通過DNS解析獲取網(wǎng)址的IP地址,設(shè)置 UA 等信息發(fā)出第二個GET請求;
4杉编、進行HTTP協(xié)議會話超全,客戶端發(fā)送報頭(請求報頭);
5、進入到web服務(wù)器上的 Web Server邓馒,如 Apache嘶朱、Tomcat跺涤、Node.JS 等服務(wù)器;
6贤壁、進入部署好的后端應(yīng)用,如 PHP目养、Java救军、JavaScript财异、Python 等,找到對應(yīng)的請求處理;
7唱遭、處理結(jié)束回饋報頭宝当,此處如果瀏覽器訪問過,緩存上有對應(yīng)資源胆萧,會與服務(wù)器最后修改時間對比庆揩,一致則返回304;
8、瀏覽器開始下載html文檔(響應(yīng)報頭跌穗,狀態(tài)碼200)订晌,同時使用緩存;
9、文檔樹建立蚌吸,根據(jù)標記請求所需指定MIME類型的文件(比如css锈拨、js),同時設(shè)置了cookie;
10、頁面開始渲染DOM羹唠,JS根據(jù)DOM API操作DOM,執(zhí)行事件綁定等奕枢,頁面顯示完成。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末佩微,一起剝皮案震驚了整個濱河市缝彬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌哺眯,老刑警劉巖谷浅,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡一疯,警方通過查閱死者的電腦和手機撼玄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來墩邀,“玉大人掌猛,你說我怎么就攤上這事∶级茫” “怎么了留潦?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長辣往。 經(jīng)常有香客問我,道長殖卑,這世上最難降的妖魔是什么站削? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮孵稽,結(jié)果婚禮上许起,老公的妹妹穿的比我還像新娘。我一直安慰自己菩鲜,他們只是感情好园细,可當我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著接校,像睡著了一般猛频。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蛛勉,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天鹿寻,我揣著相機與錄音,去河邊找鬼诽凌。 笑死毡熏,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的侣诵。 我是一名探鬼主播痢法,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼杜顺!你這毒婦竟也來了财搁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤躬络,失蹤者是張志新(化名)和其女友劉穎妇拯,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡越锈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年仗嗦,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片甘凭。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡稀拐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出丹弱,到底是詐尸還是另有隱情德撬,我是刑警寧澤,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布躲胳,位于F島的核電站蜓洪,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏坯苹。R本人自食惡果不足惜隆檀,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望粹湃。 院中可真熱鬧恐仑,春花似錦、人聲如沸为鳄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽孤钦。三九已至歧斟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間偏形,已是汗流浹背构捡。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留壳猜,地道東北人勾徽。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像统扳,于是被迫代替她去往敵國和親喘帚。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內(nèi)容