面試知識2

一:HTTP和HTTPS理解

1:HTTP協(xié)議通常承載在TCP協(xié)議之上 ,在HTTP和TCP之間添加一個安全協(xié)議層就變成了HTTPS

? ? ?HTTP:超文本傳輸協(xié)議 (HTTP-Hypertext transfer protocol) 是一種詳細(xì)規(guī)定了瀏覽器和服務(wù)器之間互相通信的規(guī)則

? ? ?HTTPS:是HTTP的安全版

2:默認(rèn)HTTP的端口號為80蜗细,HTTPS的端口號為443

3:HTTPS比HTTP更安全(原因):網(wǎng)絡(luò)請求需要中間有很多的服務(wù)器路由器的轉(zhuǎn)發(fā)锌订。中間的節(jié)點都可能篡改信息储狭,如果使用HTTPS,密鑰在客戶和終點站才有米愿。https之所以比http安全,是因為他利用ssl/tls協(xié)議傳輸梦鉴。保障了傳輸過程的安全性

二:對前端模塊化的理解

1:模塊化產(chǎn)生的背景:

? ? ? 在JavaScript發(fā)展初期就是為了實現(xiàn)簡單的頁面交互邏輯集绰,错妖;如今CPU、瀏覽器性能得到了極大的提升疚沐,很多頁面邏輯遷移到了客戶端(表單驗證等)暂氯,Ajax技術(shù)得到廣泛應(yīng)用,jQuery等前端庫層出不窮亮蛔,前端代碼日益膨脹而JavaScript卻沒有為組織代碼提供任何明顯幫助痴施,JavaScript極其簡單的代碼組織規(guī)范不足以駕馭如此龐大規(guī)模的代碼

2:模塊化前期發(fā)展的過程

? ? ?過程1:封裝函數(shù):實現(xiàn)特定的代碼段

? ? ? ? ? ? ? ?缺點:污染了全局變量 可能會與其他模塊發(fā)生變量名沖突 模塊間無聯(lián)系

? ? ?過程2:對象:把所有的模塊成員封裝在一個對象中(解決了封裝函數(shù)的缺點)

? ? ? ? ? ? ? ?缺點:外部可以隨意修改內(nèi)部成員

? ? ? 過程3:立即執(zhí)行函數(shù)

3:目前的模塊規(guī)范(Common.js ? AMD ?CMD)

? ? ? CommonJs(定義模塊:模塊名.js,模塊輸出:module.exports()究流,加載模塊:require辣吃,)

eg:----

var name = 'htt';

function a(){

console.log(name);

}

module.exports = {

a: a,

}

var nameModule = require('myModel.js');

nameModule.htt();

? ? ? AMD:(異步模塊定義,AMD 是 RequireJS 在推廣過程中對模塊定義的規(guī)范化的產(chǎn)出)

? ? ? ? (1)-- requireJS主要解決兩個問題:

? ? ? ? ? ? 多個js文件可能有依賴關(guān)系芬探,被依賴的文件需要早于依賴它的文件加載到瀏覽器

? ? ? ? ? ? ?js加載的時候瀏覽器會停止頁面渲染神得,加載文件越多,頁面失去響應(yīng)時間越長

? ? ? ?(2)--- 語法 :(定義模塊 ?加載模塊)

? ? ? ? ? ? 2-1:::::requireJS定義了一個函數(shù) define灯节,它是全局變量循头,用來定義模塊

? ? ? ? ? ? ?define(id?, dependencies?, factory);

? ? ? ? ? ? ?id:可選參數(shù),用來定義模塊的標(biāo)識炎疆,如果沒有提供該參數(shù)卡骂,腳本文件名(去掉拓展名)

? ? ? ? ? ? dependencies:是一個當(dāng)前模塊依賴的模塊名稱數(shù)組

? ? ? ? ? ?factory:工廠方法,模塊初始化要執(zhí)行的函數(shù)或?qū)ο笮稳搿H绻麨楹瘮?shù)全跨,它應(yīng)該只被執(zhí)行一次。如果是對象亿遂,此對象應(yīng)該為模塊的輸出值

? ? ? ? ? 2-2:::require函數(shù)加載模塊

? ? ? ? ? ? require([dependencies], function(){});

? ? ? ? ? ? require()函數(shù)接受兩個參數(shù)

? ? ? ? ? ? 第一個參數(shù)是一個數(shù)組浓若,表示所依賴的模塊

? ? ? ? ? ? 第二個參數(shù)是一個回調(diào)函數(shù),當(dāng)前面指定的模塊都加載成功后蛇数,它將被調(diào)用挪钓。加載的模塊會以參數(shù)形式傳入該函數(shù),從而在回調(diào)函數(shù)內(nèi)部就可以使用這些模塊

? ? ? ? ? ?require()函數(shù)在加載依賴的函數(shù)的時候是異步加載的耳舅,只有前面的模塊都加載成功后碌上,才會運(yùn)行,解決了依賴性的問題浦徊。

? ? ?(3)----eg:

定義模塊 myModule.js

define(['dependency'], function(){

var name = 'htt';

function a(){

console.log(name);

}

return {

a:a

};

});

// 加載模塊

require(['myModule'], function (my){

my.a();

});

? ? CMD:通用模塊定義馏予,SeaJS,SeaJS要解決的問題和requireJS一樣盔性,只不過在模塊定義方式和模塊加載(運(yùn)行霞丧、解析)時機(jī)上有所不同

? ? ? ? ?define(id?, deps?, factory)

? ? ? ? ? ? factory有三個參數(shù)

? ? ? ? ? ? ?function(require, exports, module)? require 是一個方法,接受 模塊標(biāo)識 作為唯一參數(shù)冕香,用來獲取其他模塊提供的接口;;;exports 是一個對象蛹尝,用來向外提供模塊接口;;;module 是一個對象后豫,上面存儲了與當(dāng)前模塊相關(guān)聯(lián)的一些屬性和方法

? eg---

定義模塊? myModule.js

define(function(require, exports, module) {

var $ = require('jquery.js')

$('div').addClass('active');

});

seajs.use(['myModule.js'], function(my){

});

4:AMD與CMD的區(qū)別

AMD推崇依賴前置,在定義模塊的時候就要聲明其依賴的模塊

CMD推崇就近依賴突那,只有在用到某個模塊的時候再去require

三:defer和async區(qū)別(都可以實現(xiàn)異步加載)

defer ? 并行加載js文件硬贯,會按照頁面上script標(biāo)簽的順序執(zhí)行

async ? ?并行加載js文件,下載完成立即執(zhí)行陨收,不會按照頁面上 ? ? ? ? ? ? ? ?script標(biāo)簽的順序執(zhí)行

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末饭豹,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子务漩,更是在濱河造成了極大的恐慌拄衰,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,946評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饵骨,死亡現(xiàn)場離奇詭異翘悉,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)居触,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評論 3 399
  • 文/潘曉璐 我一進(jìn)店門妖混,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人轮洋,你說我怎么就攤上這事制市。” “怎么了弊予?”我有些...
    開封第一講書人閱讀 169,716評論 0 364
  • 文/不壞的土叔 我叫張陵祥楣,是天一觀的道長。 經(jīng)常有香客問我汉柒,道長误褪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,222評論 1 300
  • 正文 為了忘掉前任碾褂,我火速辦了婚禮兽间,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘正塌。我一直安慰自己嘀略,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,223評論 6 398
  • 文/花漫 我一把揭開白布传货。 她就那樣靜靜地躺著屎鳍,像睡著了一般宏娄。 火紅的嫁衣襯著肌膚如雪问裕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,807評論 1 314
  • 那天孵坚,我揣著相機(jī)與錄音粮宛,去河邊找鬼窥淆。 笑死,一個胖子當(dāng)著我的面吹牛巍杈,可吹牛的內(nèi)容都是我干的忧饭。 我是一名探鬼主播,決...
    沈念sama閱讀 41,235評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼筷畦,長吁一口氣:“原來是場噩夢啊……” “哼词裤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起鳖宾,我...
    開封第一講書人閱讀 40,189評論 0 277
  • 序言:老撾萬榮一對情侶失蹤吼砂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后鼎文,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體渔肩,經(jīng)...
    沈念sama閱讀 46,712評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,775評論 3 343
  • 正文 我和宋清朗相戀三年拇惋,在試婚紗的時候發(fā)現(xiàn)自己被綠了周偎。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,926評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡撑帖,死狀恐怖蓉坎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情胡嘿,我是刑警寧澤袍嬉,帶...
    沈念sama閱讀 36,580評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站灶平,受9級特大地震影響伺通,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜逢享,卻給世界環(huán)境...
    茶點故事閱讀 42,259評論 3 336
  • 文/蒙蒙 一罐监、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瞒爬,春花似錦弓柱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,750評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至禀横,卻和暖如春屁药,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背柏锄。 一陣腳步聲響...
    開封第一講書人閱讀 33,867評論 1 274
  • 我被黑心中介騙來泰國打工酿箭, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留复亏,地道東北人。 一個月前我還...
    沈念sama閱讀 49,368評論 3 379
  • 正文 我出身青樓缭嫡,卻偏偏與公主長得像缔御,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子妇蛀,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,930評論 2 361

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

  • 1 個人理解;有錯希望大家指出;稍后更新拖拽上傳文件; 2耕突、commonJS commonjs的目標(biāo)是制定一個js...
    吳高亮閱讀 1,560評論 0 2
  • Node.js是目前非常火熱的技術(shù)评架,但是它的誕生經(jīng)歷卻很奇特有勾。 眾所周知,在Netscape設(shè)計出JavaScri...
    w_zhuan閱讀 3,617評論 2 41
  • 原文鏈接:http://www.cnblogs.com/lvdabao/p/js-modules-develop....
    舌尖上的大胖閱讀 716評論 0 1
  • 轉(zhuǎn)載于作者:linwalker via:http://www.reibang.com/p/d67bc79976e6...
    猩崽大叔閱讀 668評論 0 0
  • 窗戶很是意外古程,一件小小的簡單的事居然能讓別人把你說出來蔼卡,沒人心甘情愿替你背鍋,不要在做自以為感動自己的事挣磨,自己的事...
    日落絢閱讀 147評論 0 1