git与ES6总结

git

git介绍

git(https://github.com/)是分布式版本控制技术

SVN是集中式管理版本控制技术

代码托管平台:github,码云,gitlab等

第一步注册github及创建仓库

第二步 生成公钥和密钥

命令:  ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

执行完上述代码会在C:UsersDell.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

查看区别:

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'

欢迎大家一起交流 相互学习
原文地址:https://www.cnblogs.com/zss1/p/9021399.html