1.module、export、import是什麼,有什麼作用? 2.日常前端代碼開發中,有哪些值得用ES6去改進的編程優化或者規範? 3.請你談談Cookie的弊端? 4.git fetch和git pull的區別? 5.svn與git的區別? ...
1.module、export、import是什麼,有什麼作用?
module、export、import是ES6用來統一前端模塊化方案的設計思路和實現方案。 export、import的出現統一了前端模塊化的實現方案, 整合規範了瀏覽器/服務端的模塊化方法, 用來取代傳統的AMD/CMD、requireJS、seaJS、commondJS 等等一系列前端模塊不同的實現方案,使前端模塊化更加統一規範, JS也能更加能實現大型的應用程式開發。 import引入的模塊是靜態載入(編譯階段載入)而不是動態載入(運行時載入)。 import引入export導出的介面值是動態綁定關係, 即通過該介面,可以取到模塊內部實時的值
2.日常前端代碼開發中,有哪些值得用ES6去改進的編程優化或者規範?
常用箭頭函數來取代var self = this;的做法。 常用let取代var命令。 常用數組/對象的結構賦值來命名變數, 結構更清晰,語義更明確,可讀性更好。 在長字元串多變數組合場合, 用模板字元串來取代字元串累加, 能取得更好地效果和閱讀體驗。 用Class類取代傳統的構造函數,來生成實例化對象。 在大型應用開發中, 要保持module模塊化開發思維, 分清模塊之間的關係,常用import、export方法。
3.請你談談Cookie的弊端?
cookie雖然在持久保存客戶端數據提供了方便, 分擔了伺服器存儲的負擔,但還是有很多局限性的 第一:每個特定的功能變數名稱下最多生成20個cookie 1.IE6或更低版本最多20個cookie 2.IE7和之後的版本最後可以有50個cookie。 3.Firefox最多50個cookie 4.chrome和Safari沒有做硬性限制
4.git fetch和git pull的區別?
git pull:
相當於是從遠程獲取最新版本並merge到本地
git fetch:
相當於是從遠程獲取最新版本到本地,不會自動merge
5.svn與git的區別?
git是分散式的,svn不是。 git跟svn一樣有自己的集中式版本庫或伺服器。 但git更傾向於被使用於分散式模式, 克隆版本庫後即使沒有網路也能夠commit文件, 查看歷史版本記錄,創建項目分支等, 等網路再次連接上Push到伺服器端。 git把內容按元數據方式存儲,而svn是按文件。 所有的資源控制系統都是把文件的元信息隱藏在一個類似.svn,.cvs等的文件夾里。 git目錄是處於你的機器上的一個克隆版的版本庫, 它擁有中心版本庫上所有的東西, 例如標簽,分支,版本記錄等。 git沒有一個全局的版本號,svn有。 git的內容完整性優於svn。 因為git的內容存儲使用的是SHA-1哈希演算法。 git可以有無限個版本庫,svn只能有一個指定中央版本庫。 當svn中央版本庫有問題時, 所有工作成員都一起癱瘓直到版本庫維修完畢或者新的版本庫設立完成。 每一個git都是一個版本庫, 區別是它們是否擁有活躍目錄(Git Working Tree)。 如果主要版本庫(例如:置於GitHub的版本庫)有問題, 工作成員仍然可以在自己的本地版本庫(local repository)提交, 等待主要版本庫恢復即可。工作成員也可以提交到其他的版本庫!