git与ES6总结

git

git介绍

  1. git(https://github.com/)是分布式版本控制技术
  2. SVN是集中式管理版本控制技术
  3. 代码托管平台:github,码云,gitlab等

第一步注册github及创建仓库

第二步 生成公钥和密钥

命令: ssh-keygen -t rsa -b 4096 -C "[email protected]"

执行完上述代码会在C:\Users\Dell.ssh生成两个文件

第三步本地添加邮箱和用户名

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

第四步 克隆仓库

git clone 仓库地址
例如:git clone  [email protected]:liyu888666/testpro.git
 ssh:   [email protected]:liyu888666/testpro.git
https:  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.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
   特点:
   (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一样,写一个
例如:

    var name="1512A"
    var age=20;
    以前写法:
    
    var obj={
         name:name,
         age:age
    
    }
    
    现在的写法:
    var obj={
       name,
       age
    
    }

2.简化函数写法

以前写法:

var obj={
   say:function() {
      console.log(`我叫${this.name}`);

   }


}

现在写法:

        var obj={
           say() {
              console.log(`我叫${this.name}`);
        
           }
        
        
        }

尾逗号:可以在数组,对象末尾追加逗号,方便开发

   var obj={
   name:'alice',
   age:20,

}

解构赋值:

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: 将数据列表 转换为 数组

    3,13,23,4,4,3 => [3,13,23,4,4,3 ]

  2. 展开操作符:将数组转换为 数据列表

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 类名(实参列表)

例如:

class Person {

   constructor(name) {
    this.name=name || "1512A";
   }

   drive() {
    console.log(`${this.name}会开车`);
   }


}

继承类:

格式:

//中国人继承人类
class 子类  extends 父类{

     constructor(形参1,形参2,....) {
         super(name)   //表示调用父类,因为子类没有自己的this,必须通过调用父类实现

     }

     子类方法1() {
       //.....
     }

    子类方法2() {
       //.....
     }


}

例如:
//中国人继承人类

class ChinaPerson extends Person {

     constructor(name) {
         super(name)

     }

     play() {
        console.log(`${this.name}会打游戏`);
     }

     go() {
         console.log('go方法')
     }


}

默认参数: 在函数形参中直接指定默认值

例如:
function Fn(形能1="默认值1",形参2="默认值2") {

}

promise????

for of

模块(module)

  export default {
      data() {


  }

 }

  import aaaa from 'header.vue'

VUE

参考资料:
https://cn.vuejs.org/
https://router.vuejs.org/zh-cn/
https://vuex.vuejs.org/
https://github.com/vuejs/awesome-vue

一、vue+jquery
vue(IE9+)

   企业后台或企业站

二、vue全家桶:vue+ES6+vuerouter+less(sass或stylus)+vuex+webpack+......

通过用vue脚本架来开发项目 

  npm install -g @vue/cli

 如果npm install安装一些依赖包慢,可以换成淘宝镜像:
   npm config set registry https://registry.npm.taobao.org

禁用eslint代码检查:config->index.js 找一下 useEslint: true,改成false

真机测试: 打开vue脚本架 config->index.js 中的host:"localhost"改为 host: '0.0.0.0'

打包路径:打开vue脚本架 config->index.js 中的
build: {
// Template for index.html
index: path.resolve(__dirname, '../dist/index.html'),

// Paths
assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
 将  assetsPublicPath: '/',改成assetsPublicPath: './'

移动端H5页面高清多屏适配方案:
https://note.youdao.com/share/?id=8e3044287f1ab4822b3647cfa21c67e5&type=note#/

通常浏览器默认使用的字号:16px;

浏览器最小能设置12px号字

       可以通过 transform:scale(0.8) 缩入

你可能感兴趣的:(git与ES6总结)