摘要:線程在執(zhí)行過程中與進程還是有區(qū)別的。但是線程不能夠獨立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個線程執(zhí)行控制。從邏輯角度來看,多線程的意義在于一個應(yīng)用程序中,有多個執(zhí)行部分可以同時執(zhí)行。
關(guān)于js
1.原型鏈
2.AJAX請求數(shù)據(jù)時解決緩存的辦法
3.js的繼承
4.簡單談?wù)勈录芭莺褪录东@
5.閉包什么時候會用到有什么好處
6.三目運算符
7.圖表的使用
8.AJAX跨域如何解決
9.談?wù)凱romise的理解
10.遞歸
11.ES6
1.angular和jquery有什么區(qū)別
2.三大框架的區(qū)別和特性,項目案列VUE REACT ANGULAR
3.三大框架實戰(zhàn)演練
4.angular路由
5.倆個angular之間如何傳值
6.VUE的寫法
1.GULP GRUNT WEBPACK的了解
2.搭建項目步驟的演示
1.IE opacity不起作用解決辦法
2.Placeholder不起作用解決辦法
3.input被鍵盤遮擋解決辦法
4.audio在微信里音樂無法自動播放
1.CSS3 HTML5新屬性
2.LESS SASS和css的區(qū)別
3.rem和px的區(qū)別
4.微信登錄 第三方支付 分享
5.地圖 Geolocation
6.WEbsockt
cd kake/ 項目名
sh.git
pull/push
update_1/描述用英文并用下劃線分割
注: 更新之前可使用git status查看是否有修改,git diff查看所修改文件
更新完 source下面 npm run all
修改host文件sudo vim /ect/hosts
i 鍵盤修改
Esc :
wq 保存并退出
解決沖突CONFLICT
cd 目錄名
git add 文件沖突路徑
kake/frontend/less/detail/index.less
2.SVN
關(guān)于數(shù)據(jù)結(jié)構(gòu)與算法## box-sizing: border-box的作用當你設(shè)置一個元素為 box-sizing: border-box; 時,此元素的內(nèi)邊距和邊框不再會增加它的寬度。
例如:
width: 500px; height:100px; border: 1px solid #000; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;
}
如果這時候你加上一個內(nèi)邊距屬性,padding: 10px;
這個div不會撐開,即你所見的邊框位置沒有任何變動,但是“舉個例子”這句話會和div邊框有10px的間距。
一般在寫頁面的時候用這個屬性就不會再考慮邊框和內(nèi)邊距會改變整體所占寬度,即不用再根據(jù)盒子模型再去計算,省去很多麻煩。
算術(shù)運算
int a,b;
a=10;b=12;
a=b-a; //a=2;b=12
b=b-a; //a=2;b=10
a=b+a; //a=10;b=10
它的原理是:把a、b看做數(shù)軸上的點,圍繞兩點間的距離來進行計算。
具體過程:第一句“a=b-a”求出ab兩點的距離,并且將其保存在a中;第二句“b=b-a”求出a到原點的距離(b到原點的距離與ab兩點距離之差),并且將其保存在b中;第三句“a=b+a”求出b到原點的距離(a到原點距離與ab兩點距離之和),并且將其保存在a中。完成交換。
此算法與標準算法相比,多了三個計算的過程,但是沒有借助臨時變量。(以下稱為算術(shù)算法)
1、作為普通函數(shù)調(diào)用(this指向全局對象window對象)
2、作為對象的方法調(diào)用(this指向該對象)
3、構(gòu)造器調(diào)用(this指向用new返回的這個對象)
4、call、apply、bind的調(diào)用(this指向第一個參數(shù)對象)
1、創(chuàng)建一個新對象
2、將構(gòu)造函數(shù)的作用域賦給新對象(因此this就指向了這個新對象)
3、執(zhí)行構(gòu)造函數(shù)中的代碼(為這個新對象添加屬性)
4、返回新對象
1、null是一個表示”無”的對象,轉(zhuǎn)為數(shù)值時為0;undefined是一個表示”無”的原始值,轉(zhuǎn)為數(shù)值時為NaN。
2、undefined表示”缺少值”,就是此處應(yīng)該有一個值,但是還沒有定義。
3、null表示”沒有對象”,即該處不應(yīng)該有值。
三者都是用來改變函數(shù)的this對象的指向的。
三者第一個參數(shù)都是this要指向的對象,也就是想指定的上下文。
call 傳入的參數(shù)數(shù)量不固定,第二部分參數(shù)要一個一個傳,用,隔開。
apply 接受兩個參數(shù),第二個參數(shù)為一個帶下標的集合,可以為數(shù)組,也可以為類數(shù)組。
bind 是返回一個改變了上下文的函數(shù)副本,便于稍后調(diào)用;apply 、call 則是立即調(diào)用 。
本地存儲
sessionStorage用于本地存儲一個會話(session)中的數(shù)據(jù),這些數(shù)據(jù)只有在同一個會話中的頁面才能訪問并且當會話結(jié)束后數(shù)據(jù)也隨之銷毀。因此sessionStorage不是一種持久化的本地存儲,僅僅是會話級別的存儲。
localStorage用于持久化的本地存儲,除非主動刪除數(shù)據(jù),否則數(shù)據(jù)是永遠不會過期的。
具體參見:本地存儲sessionStorage與localStorage
1、cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上。
2、cookie不是很安全,別人可以分析存放在本地的COOKIE并進行COOKIE欺騙,考慮到安全應(yīng)當使用session。
3、session會在一定時間內(nèi)保存在服務(wù)器上。當訪問增多,會比較占用你服務(wù)器的性能,考慮到減輕服務(wù)器性能方面,應(yīng)當使用COOKIE。
4、單個cookie保存的數(shù)據(jù)不能超過4K,很多瀏覽器都限制一個站點最多保存20個cookie。每次請求一個新的頁面的時候Cookie都會被發(fā)送過去,與服務(wù)器進行交互。
1、數(shù)據(jù)體積方面。
JSON相對于XML來講,數(shù)據(jù)的體積小,傳遞的速度更快些。
2、數(shù)據(jù)交互方面。
JSON與JavaScript的交互更加方便,更容易解析處理,更好的數(shù)據(jù)交互。
3、數(shù)據(jù)描述方面。
JSON對數(shù)據(jù)的描述性比XML較差。
4、傳輸速度方面。
JSON的速度要遠遠快于XML。
調(diào)用localstorge、cookies等本地存儲方式
線程與進程的區(qū)別1、一個程序至少有一個進程,一個進程至少有一個線程.
2、線程的劃分尺度小于進程,使得多線程程序的并發(fā)性高。
3、進程在執(zhí)行過程中擁有獨立的內(nèi)存單元,而多個線程共享內(nèi)存,從而極大地提高了程序的運行效率。
4、線程在執(zhí)行過程中與進程還是有區(qū)別的。每個獨立的線程有一個程序運行的入口、順序執(zhí)行序列和程序的出口。但是線程不能夠獨立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個線程執(zhí)行控制。
5、從邏輯角度來看,多線程的意義在于一個應(yīng)用程序中,有多個執(zhí)行部分可以同時執(zhí)行。但操作系統(tǒng)并沒有將多個線程看做多個獨立的應(yīng)用,來實現(xiàn)進程的調(diào)度和管理以及資源分配。這就是進程和線程的重要區(qū)別。
漸進增強 :針對低版本瀏覽器進行構(gòu)建頁面,保證最基本的功能,然后再針對高級瀏覽器進行效果、交互等改進和追加功能達到更好的用戶體驗。
優(yōu)雅降級 :一開始就構(gòu)建完整的功能,然后再針對低版本瀏覽器進行兼容。
性能優(yōu)化
網(wǎng)頁內(nèi)容
減少 http請求次數(shù)
減少 DNS查詢次數(shù)
避免頁面跳轉(zhuǎn)
緩存 Ajax
延遲加載
提前加載
減少 DOM元素數(shù)量
避免 404
服務(wù)器
使用CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))
添加Expires或Cache-Control報文頭
Gzip壓縮傳輸文件
CSS
將樣式表置頂
用代替@import
JavaScript
把腳本置于頁面底部
使用外部JavaScript和CSS
精簡JavaScript和CSS
去除重復(fù)腳本
減少DOM訪問
圖片
優(yōu)化圖像
優(yōu)化CSS Spirite
不要在HTML中縮放圖片
favicon.ico要小而且可緩存
jsonp、CORS、document.domain+iframe、window.name、window.postMessage
jsonp的原理就是利用了