git
git介紹
git(https://github.com/)是分散式版本控制技術
SVN是集中式管理版本控制技術
程式碼託管平臺:github,碼雲,gitlab等
第一步註冊github及建立倉庫
第二步 生成公鑰和金鑰
命令: ssh-keygen -t rsa -b 4096 -C “your_email@example.com”
執行完上述程式碼會在C:\Users\Dell.ssh生成兩個檔案
第三步本地新增郵箱和使用者名稱
git config –globaluser.email”you@example.com”git config –globaluser.name”Your Name”
第四步 克隆倉庫
git clone 倉庫地址例如:git clone git@github.com:liyu888666/testpro.git ssh: git@github.com:liyu888666/testpro.githttps: https://github.com/liyu888666/testpro.git
git 常用命令
克隆:git clone
新增:git add 檔名
檢視檔案狀態:git status
提交:git commit -m "說明"
推送:git push 歷史回退:
一、放棄工作區修改: git checkout -- 檔案
二、由暫存區返回到工作區 : git reset HEAD 檔名
三、撤消版本庫: git reset --hard commit_id
四、推送出錯:先git pull 再git push
git log 檢視日誌
git log --pretty=oneline
git reflog
複製程式碼
看工作區的修改的差異: git diff 檔名
2.檢視工作區和暫存區區別:git diff --cached 檔名
3.工作區與版本庫的區別: git diff HEAD 檔名
4.檢視兩次版本庫之間的差異:git diff commit_id commit_id
例如: git diff bb6a1a8 6111f25
5.檢視兩個分支之間的差異:???? 分支:git 重要內容
檢視分支: git branch 建立分支: git branch 分支名 切換分支:git checkout 分支名 即建立也切換:git checkout -b 新分支 合併分支:git merge --no-ff 要合併的分支 刪除分支: git branch -d 要刪除分支//刪除已合併的分支git branch -D 要刪除分支//刪除未合併的分支解決衝突:手動解決 git打版本 檢視版本:git tag 建立版本:1.git tag 版本號2.git tag 版本號 commit_id 刪除本地版本:git tag -d 要刪除的版本號 刪除遠端版本:git push origin :refs/tags/要刪除的遠端版本號 ES6
參考資料:1.http://es6.ruanyifeng.com/#docs/function 2.https://www.cnblogs.com/Wayou/p/es6_new_features.htmlJS:ES(EcmaScript),DOM,BOM ES1.01997ES2.01998ES3.01999ES4.0XXXX2005-2006ES5.02009ES5.12011ES6(ES2015)2015ES72016ES82017ES92018..... ES6新增特性:
1.let,const特點: (1)沒有變數提升 (2) 塊級作用域 (3)不能重複定義
2.模板字串
適用場景:解決字串拼接問題
用反引號實現:`` 獲取值:${ }
3.箭頭函式: => 匿名函式:
function(item,index,arr) {
console.log(arr)
}
用 =>來取代匿名函式
(形參1,形參2,…..) => {
//程式碼塊
}
普通函式和箭頭函式區別:
箭頭函式沒有自己的this,它的this是其父級函式的this普通函式是有自己的this,他的this是在程式執行時確定的
call,apply,bind的理解
1.相同點:call,apply,bind都可以改變this指向
2..區別:call和apply的傳參形式不同,
函式名.call(要改變的物件,引數1,引數2,……) 函式名.apply(要改變的物件,[引數1,引數2,……])bind返回函式本身,但this已經改變了 函式.bind(要改變的物件)(引數1,引數2,……) 或 函式.bind(要改變的物件,引數1,引數2,……)()
物件擴充套件:
1.如果key和value一樣,寫一個
例如:
varname="1512A"varage=20; 以前寫法:varobj={name:name,age:age } 現在的寫法:varobj={ name, age }
2.簡化函式寫法
以前寫法:
varobj={say:function(){console.log(我叫${this.name}
); }}
現在寫法:
varobj={ say() {console.log(我叫${this.name}
); } }
尾逗號:可以在陣列,物件末尾追加逗號,方便開發
varobj={name:'alice',age:20,}
解構賦值:
varinfo={name:"alice",age:20,address:"北京"}var{name,address}=info;var[one,two]=[20,45,6,2]
展開操作符(spread)和rest: ...
{23, 34, 45, 54, 342}
... {23,34,45,54,342}[]23,34,45,54,342]
rest: 將資料列表 轉換為 陣列
3,13,23,4,4,3 => [3,13,23,4,4,3 ]
展開操作符:將陣列轉換為 資料列表 set:是陣列的擴充套件,裡面的值唯一,不能重複
symbol:是ES6新增加的基本資料型別,從根本上防止屬性名的衝突。這就是 ES6 引入Symbol的原因
javascript基本型別:string,number,boolean,null,undefined
map:是物件的擴充套件,key可以任何型別的值來充當,包括物件,字串。。。。
注意:和陣列map方法的區別 返回值:陣列
class:是ES6實現的最新的物件導向寫法
ES5繼承:https://segmentfault.com/a/1190000002440502
定義類:
class類名{constructor(形參1,形參2,….) {//建構函式中的自動執行的內容} 方法() {//方法邏輯}}
例項化:new 類名(實參列表)
例如:
classPerson{constructor(name) {this.name=name ||"1512A"; } drive() {console.log(${this.name}會開車
); }}
繼承類:
格式:
//中國人繼承人類class子類extends父類{constructor(形參1,形參2,….) {super(name)//表示呼叫父類,因為子類沒有自己的this,必須通過呼叫父類實現} 子類方法1() {//…..} 子類方法2() {//…..}}
例如:
//中國人繼承人類
classChinaPersonextendsPerson{constructor(name) {super(name) } play() {console.log(${this.name}會打遊戲
); } go() {console.log('go方法') }}
預設引數: 在函式形參中直接指定預設值
例如:
function Fn(形能1="預設值1",形參2="預設值2") {
}
promise????
for of
模組(module)
exportdefault{ data() { } }importaaaafrom'header.vue'