git
git介紹
- git(https://github.com/)是分布式版本控制技術(shù)
- SVN是集中式管理版本控制技術(shù)
- 代碼托管平臺:github,碼云捶闸,gitlab等
第一步注冊github及創(chuàng)建倉庫
第二步 生成公鑰和密鑰
命令: ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
執(zhí)行完上述代碼會在C:\Users\Dell.ssh生成兩個文件
第三步本地添加郵箱和用戶名
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
第四步 克隆倉庫
git clone 倉庫地址
例如:git clone git@github.com:liyu888666/testpro.git
ssh: git@github.com:liyu888666/testpro.git
https: https://github.com/liyu888666/testpro.git
git 常用命令
克陆バ小:git clone
添加:git add 文件名
查看文件狀態(tài):git status
提交:git commit -m "說明"
推送:git push
歷史回退:
一、放棄工作區(qū)修改: git checkout -- 文件
二切距、由暫存區(qū)返回到工作區(qū) : git reset HEAD 文件名
三帐姻、撤消版本庫: git reset --hard commit_id
四酒觅、推送出錯:先git pull 再git push
git log 查看日志
git log --pretty=oneline
git reflog
查看區(qū)別:
1.查看工作區(qū)的修改的差異: git diff 文件名
2.查看工作區(qū)和暫存區(qū)區(qū)別:git diff --cached 文件名
3.工作區(qū)與版本庫的區(qū)別: git diff HEAD 文件名
4.查看兩次版本庫之間的差異:git diff commit_id commit_id
例如: git diff bb6a1a8 6111f25
5.查看兩個分支之間的差異:????
分支:git 重要內(nèi)容
查看分支: git branch
創(chuàng)建分支: git branch 分支名
切換分支:git checkout 分支名
即創(chuàng)建也切換:git checkout -b 新分支
合并分支:git merge --no-ff 要合并的分支
刪除分支:
git branch -d 要刪除分支 //刪除已合并的分支
git branch -D 要刪除分支 //刪除未合并的分支
解決沖突:手動解決
git打版本
查看版本:git tag
創(chuàng)建版本:
1.git tag 版本號
2.git tag 版本號 commit_id
刪除本地版本:git tag -d 要刪除的版本號
刪除遠(yuǎn)程版本:git push origin :refs/tags/要刪除的遠(yuǎn)程版本號
ES6
參考資料:
1.http://es6.ruanyifeng.com/#docs/function
2.https://www.cnblogs.com/Wayou/p/es6_new_features.html
JS:ES(EcmaScript),DOM,BOM
ES1.0 1997
ES2.0 1998
ES3.0 1999
ES4.0 XXXX 2005-2006
ES5.0 2009
ES5.1 2011
ES6(ES2015) 2015
ES7 2016
ES8 2017
ES9 2018
.....
ES6新增特性:
1. let,const
特點(diǎn):
(1)沒有變量提升
(2) 塊級作用域
(3)不能重復(fù)定義
2.模板字符串
適用場景:解決字符串拼接問題
用反引號實(shí)現(xiàn):`` 獲取值:${ }
3.箭頭函數(shù): =>
匿名函數(shù):
function(item,index,arr) {
console.log(arr)
}
用 =>來取代匿名函數(shù)
(形參1,形參2,.....) => {
//代碼塊
}
普通函數(shù)和箭頭函數(shù)區(qū)別:
箭頭函數(shù)沒有自己的this,它的this是其父級函數(shù)的this
普通函數(shù)是有自己的this,他的this是在程序運(yùn)行時確定的
call,apply,bind的理解
1.相同點(diǎn):call,apply,bind都可以改變this指向
2..區(qū)別:call和apply的傳參形式不同,
函數(shù)名.call(要改變的對象,參數(shù)1,參數(shù)2,......)
函數(shù)名.apply(要改變的對象,[參數(shù)1,參數(shù)2,......])
bind返回函數(shù)本身狗热,但this已經(jīng)改變了
函數(shù).bind(要改變的對象)(參數(shù)1,參數(shù)2,......)
或
函數(shù).bind(要改變的對象钞馁,參數(shù)1,參數(shù)2,......)()
對象擴(kuò)展:
1.如果key和value一樣,寫一個
例如:
var name="1512A"
var age=20;
以前寫法:
var obj={
name:name,
age:age
}
現(xiàn)在的寫法:
var obj={
name,
age
}
2.簡化函數(shù)寫法
以前寫法:
var obj={
say:function() {
console.log(`我叫${this.name}`);
}
}
現(xiàn)在寫法:
var obj={
say() {
console.log(`我叫${this.name}`);
}
}
尾逗號:可以在數(shù)組匿刮,對象末尾追加逗號僧凰,方便開發(fā)
var obj={
name:'alice',
age:20,
}
解構(gòu)賦值:
var info={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]
1. rest: 將數(shù)據(jù)列表 轉(zhuǎn)換為 數(shù)組
3,13,23,4,4,3 => [3,13,23,4,4,3 ]
2. 展開操作符:將數(shù)組轉(zhuǎn)換為 數(shù)據(jù)列表
set:是數(shù)組的擴(kuò)展,里面的值唯一熟丸,不能重復(fù)
symbol:是ES6新增加的基本數(shù)據(jù)類型,從根本上防止屬性名的沖突训措。這就是 ES6 引入Symbol的原因
javascript基本類型:string,number,boolean,null,undefined
map:是對象的擴(kuò)展,key可以任何類型的值來充當(dāng)光羞,包括對象绩鸣,字符串。纱兑。呀闻。。
注意:和數(shù)組map方法的區(qū)別 返回值:數(shù)組
class:是ES6實(shí)現(xiàn)的最新的面向?qū)ο髮懛?
ES5繼承:[https://segmentfault.com/a/1190000002440502](https://link.jianshu.com?t=https%3A%2F%2Fsegmentfault.com%2Fa%2F1190000002440502)
定義類:
class 類名{
constructor(形參1,形參2,....) {
//構(gòu)造函數(shù)中的自動執(zhí)行的內(nèi)容
}
方法() {
//方法邏輯
}
}
實(shí)例化:new 類名(實(shí)參列表)
例如:
class Person {
constructor(name) {
this.name=name || "1512A";
}
drive() {
console.log(${this.name}會開車
);
}
}
繼承類:
格式:
//中國人繼承人類
class 子類 extends 父類{
constructor(形參1,形參2,....) {
super(name) //表示調(diào)用父類潜慎,因為子類沒有自己的this捡多,必須通過調(diào)用父類實(shí)現(xiàn)
}
子類方法1() {
//.....
}
子類方法2() {
//.....
}
}
例如:
//中國人繼承人類
class ChinaPerson extends Person {
constructor(name) {
super(name)
}
play() {
console.log(`${this.name}會打游戲`);
}
go() {
console.log('go方法')
}
}
默認(rèn)參數(shù): 在函數(shù)形參中直接指定默認(rèn)值
例如:
function Fn(形能1="默認(rèn)值1",形參2="默認(rèn)值2") {
}
promise????
for of
模塊(module)
export default {
data() {
}
}
import aaaa from 'header.vue'