gitjavascript
git介紹html
git(https://github.com/)是分佈式版本控制技術vue
SVN是集中式管理版本控制技術java
代碼託管平臺:github,碼雲,gitlab等git
第一步註冊github及建立倉庫es6
第二步 生成公鑰和密鑰github
命令: ssh-keygen -t rsa -b 4096 -C "your_email@example.com"segmentfault
執行完上述代碼會在C:\Users\Dell.ssh生成兩個文件數組
第三步本地添加郵箱和用戶名promise
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
歷史回退:
1、放棄工做區修改: git checkout -- 文件
2、由暫存區返回到工做區 : git reset HEAD 文件名
3、撤消版本庫: git reset --hard commit_id
4、推送出錯:先git pull 再git push
git log 查看日誌
git log --pretty=oneline
git reflog
查看區別:
1.查看工做區的修改的差別: 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'