发表于: 2017-02-22 02:04:43

1 1193


今天完成的事情:

重新学习了以下git的使用方法;

学习了面向对象编程的相关知识;

学习了继承的几种方法;

找教程学习了gulp的使用;

明天的计划:

继续学习关于继承的实现、各种实现方法的优劣的知识;

实战下gulp;

遇到的问题:

对于继承的目的理解不是很透彻,感觉是为了复用和节省内存;

收获:

继承有原型链、借用构造函数、组合继承、原型式继承、寄生式继承、寄生组合式继承等;

原型链继承是通过创建超类型实例赋给子类型扩展原型搜索实现的,但是子类型的constructor会被重定向到超类型的构造函数,主要的问题是包含引用类型的值的原型属性会被所有实例共享无法独立修改,并且无法想超类型中的构造函数传参。

借用构造函数,在子类型的构造函数内部调用超类型构造函数,可以传递参数,但是方法都在构造函数中定义,没法复用。

组合继承使用原型链实现对原型属性和方法的继承,借用构造函数来实现对实例属性的继承,既通过在原型上敌营方法实现了函数的复用,由保证每个实例都有它的属性,是JavaScript中最常用的继承模式。

原型式继承是创建一个临时性的构造函数,将传入的对象作为这个构造函数的原型,返回临时类型的一个实例,本质上来说是浅复制。

寄生式继承创建一个仅用于封装继承过程的函数,在内部以某种方式来增前对象,就像真的做了所有工作一样的返回对象,用于对象而不是自定义类型和构造函数的情况;

寄生组合式继承弥补了组合继承无论什么情况都会调用两次超类型构造函数的问题,通过超类型的构造函数来继承属性,通过原型链的混成形式来继承方法,是实现基于类型继承的最有效方式。

git init把目录编程仓库
git status掌握仓库的状态
git diff工作区和暂存区比较
git diff --cached暂存区和分支的比较
git add添加
git commit提交
git log显示最近到最远的提交日志,使用--pretty=oneline可以一行显示
HEAD表示当前版本
HEAD^表示上一个版本
HEAD^^表示上上个版本
HEAD~num表示上num个版本
git reflog查看之后版本
git reset --hard commit_id回到对应版本
git checkout --file用版本库里的版本替换工作区的版本
git rm删除
git remote add name git@githubaddress.git关联远程库
git push name branch将本地的分治修改推送到github
git clone git@githubaddress.git从对应地址克隆一个本地库
git branch创建一个分支
git checkout转到分支
git checkout-b创建并转到分支
git merge合并指定分支到当前分支
git branch -d删除指定分支
git log --graph分支合并图
git merge --no-ff禁用fast forward,合并时生成一个新的commit
git stash可以把当前工作现场存储起来
git stash list查看存储的工作现场
git stash apply stash@{index}恢复
git stash pop恢复并删除stash
git branch -D未合并的分支强行删除
git remote查看远程库的信息
git tag加名字可以打一个标签
git tag可以查看所有的标签
git show可以看到说明文字
git tag -s用私钥签名一个标签(需要gpg)
git tag -d删除标签
git push name tagname可以某个标签到远程
git push name --tags推送所有未推送的标签
git config --global color.ui true让git显示颜色
.gitignore配置可以在提交时忽略一些文件
git add -f可以无视忽略强制添加到git
git check-ignore可以检查忽略信息
git config --global alias. 可以配置缩写



返回列表 返回列表
评论

    分享到