git和ES6的簡介

zsszss發表於2018-05-14

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'

相關文章