摘要:
忽略特殊文件 对于机密性较强或不需要提交的文件,可以通过在.gitignore文件中配置,实现忽略这些文件的提交 .gitignore本身要放在版本库中,并且可以对.gitignore进行版本管理 当某文件被.gitignore忽略,可以通过git add -f <filename>进行强制提交 当 阅读全文
摘要:
标签管理 创建标签 git tag <tagname> 创建一个标签,默认为当前最新commit,也可以指定一个commit id来为之前的commit添加标签 git tag -a <tagname> -m "lalaal" -a指定标签名 -m进行描述 git show <tagname> 显示 阅读全文
摘要:
分支管理 每次提交,Git都将它们串成一条时间线,这条时间线就是一条分支。 最开始都有一条主分支--master分支 由master指向最新的提交,而HEAD指向master 创建与合并分支 当创建新的分支时,切换到新的分支如dev,此时dev指向master相同的指向,HEAD指向dev 此后ma 阅读全文
摘要:
添加远程库 通过git remote add origin git@ashen1999:path/repo-name.git将某个本地仓库关联到一个远程库 关联后,使用命令git push -u origin master第一次推送master分支的所有内容 此后想要更新远程库,就可以使用git p 阅读全文
摘要:
版本回退 HEAD指向的版本就是当前版本,使用命令git reset --hard commit_id可以在版本之间穿梭 可以通过git log查看提交历史,来确认回退到哪个版本 如果不小心关掉了git bash,可以通过git reflog查看命令历史,以便确认要回到未来的哪个版本 工作区和暂存区 阅读全文
摘要:
分布式版本控制系统 VS 集中式 集中式版本控制系统 将版本库集中放在中央服务器中,每个用户使用时都要先从中央管理系统中取出最新版本,使用后再把自己的成果提交给中央管理系统 需要联网才能完成 分布式版本控制系统 每个用户电脑都是一个完整的版本库,没有中央服务器 通常有一台电脑充当“中央服务器”,仅仅 阅读全文
摘要:
Map 类似于对象,其中储存键值对 通过new Map()创建,其中传入键值对 const mobilephone = new Map();mobilephone.set('HuaWei', '中国');mobilephone.set('Apple', '美国');mobilephone.set(' 阅读全文
摘要:
set 新增集合数据类型 其中的数据都是唯一的 不能通过索引获取值 通过new Set()创建,可以直接将数组传入 不同于对象,向其中添加数字类型数据和字符串类型数据是不一样的 API add() 向set类数组对象中加入元素,返回新生成的set delete() 从set类数组对象中删除指定元素, 阅读全文
摘要:
Generator Generator生成器,是es6新增语法 书写方式如下 function后加上* yield 相当于return function* fruitslist() { yield 'grape'; yield 'watermelon'; yield 'mango'} 将其返回值赋值 阅读全文
摘要:
Iterator接口 只有包含Iterator接口的数据结构才能被循环遍历 这些数据结构的原型方法中都有Symbol.iterator() 通过调用Symbol.iterator()的next方法,就可以遍历到一个个元素 //当数组还没遍历完,则返回一个对象,第一个值为属性值,第二个值为false{ 阅读全文
摘要:
class 实际上是一个function,但不存在函数提升 同样可以通过两种方式定义 class User{}//或者var User = class { } 在其中通过构造函数声明属性,可以通过计算属性声明 constructor(name, email) { this.name = name; 阅读全文
摘要:
数据类型Symbol JavaScript中第七种数据类型 通过Symbol定义的数据是唯一的 不可以用之前的方式遍历 声明定义方式 var Mary = Symbol('Mary');//或者为空 只能通过Object.getOwnPropertySymbols(变量名)的方式遍历数据为Symbo 阅读全文
摘要:
计算属性 在对象或数组中,直接将属性和属性值写为表达式,通过计算生成键值对 const keys = ['name', 'age', 'sex'];const values = ['ashen', 20, 'female'];var Laravist = { [keys.shift()] : val 阅读全文
摘要:
扩展运算符 将可遍历的对象扩展为参数序列 遍历后的参数序列需要放在数组中 如字符串: var strs = [...'ashen'] 如数组:用作数组拼接,在其中添加新元素很方便 var younger = ['john', 'smith'];var older = ['Mike', 'jack'] 阅读全文
摘要:
Array.from() 将类数组对象或可迭代对象转换为数组 并不是原型方法,需要通过Array调用 其中传入第一个参数为所要转换的值 可选择性传入第二个参数,为处理转换后的数组的函数 var list = document.getElementsByTagName('li');Array.from 阅读全文
摘要:
for of 循环 支持break,continue等结束循环 如下:只会输出apple,并非报错 for (let fruit of fruits) { if (fruit 'orange'){ break } console.log(fruit)} 得到的是数组中的属性值,而非属性 如下,得到的 阅读全文
摘要:
startswith 判断字符串是否以指定字符串片段开头 var hello = 'My name is Ashen';hello.startswith('My')//返回true 大小写敏感 hello.startswith('my')//返回false 可以指定第二个参数,指定查询字符串开始位置 阅读全文
摘要:
箭头函数 var num = [1,2,3];var double = num.map((item) => {return item*2}) 当只有一个参数时,包裹的()可以省略 当有多个参数时,在()中以,分隔 可以隐式返回 去掉return 去掉{} var double = num.map( 阅读全文
摘要:
解构赋值 数组的解构赋值 只要等号两边的模式相同,左边的变量就会被赋予对应的值 let [x, y, z] = [1, 2, 3]let [a, [[b], c]] = [1, [[2] ,3]] 如果解构不成功,变量的值就为undefined 等号左边的模式,只匹配一部分的等号右边的数组。这种情况 阅读全文
摘要:
let命令 声明的变量,只在声明的代码块中有效 适用于for循环 for(let i=0;i<10;i++){ //声明的i只在for循环体中有效,在外面不能访问} 如下,i递增时,已定义的数组项中的i值,不会改变,因为无法访问到循环体中的i 但若i是通过var定义的,则全局都可以访问,i递增时,数 阅读全文