Robbie Han

博客不再维护,转https://thinkbucket.cn/

  • 主页
  • Js
  • CSS
  • Node
  • React
  • Web
  • Git
所有文章 友链 关于我

Robbie Han

博客不再维护,转https://thinkbucket.cn/

  • 主页
  • Js
  • CSS
  • Node
  • React
  • Web
  • Git

mouseenter和mouseove的区别

2020-04-29

使用这段代码运行时,代码会一直占用主线程,造成线程阻塞

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const http = require('http');
const longComputation = () => {
let sum = 0;
for (let i = 0; i < 1e10; i++) {
sum += i;
};
return sum;
};
const server = http.createServer();
server.on('request', (req, res) => {
if (req.url === '/compute') {
console.info('计算开始',new Date());
const sum = longComputation();
console.info('计算结束',new Date());
return res.end(`Sum is ${sum}`);
} else {
res.end('Ok')
}
});

server.listen(3000);

  • JS

展开全文 >>

node版本升级

2020-04-29

node

更新npm :

npm install -g npm

更新node版本:

先清除npm缓存:npm cache clean -f

然后安装n模块:npm install -g n

升级node.js到最新稳定版:n stable

升级到指定版本: n 8.11.2

如果是mac 升级出现错误 在命令前面家sudo

参考链接:https://juejin.im/post/5b9739d1e51d450e9f66ee3b

  • Node

展开全文 >>

window.location

2020-04-29

location

location.href

  • location.href对应的是整个URL。
    1
    https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/origin

location.origin

  • 从协议名到pathname之间的部分,如果有协议包含协议名。
    1
    var result = window.location.origin; // Returns:'https://developer.mozilla.org'

location.host

返回主机名和端口号

1
2
location.href = "https://developer.mozilla.org:443/en-US/HTMLHyperlinkElementUtils.host"
location.host == "developer.mozilla.org:443"

more >>
  • Web
  • location

展开全文 >>

CSS height

2020-04-29

max-height,min-height,height一起使用时,优先级问题


常规操作:

max-height 这个属性会阻止 height 属性的设置值变得比 max-height 更大。
more >>

  • CSS
  • max-hight
  • min-hight

展开全文 >>

js可迭代对象

2020-04-29

js可迭代对象

可迭代对象的原型中都包含Symbol.iterator 属性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Set(0) {}
size: (...)
__proto__: Set
add: ƒ add()
clear: ƒ clear()
constructor: ƒ Set()
delete: ƒ delete()
entries: ƒ entries()
forEach: ƒ forEach()
has: ƒ has()
keys: ƒ values()
size: (...)
values: ƒ values()
Symbol(Symbol.iterator): ƒ values()
Symbol(Symbol.toStringTag): "Set"
get size: ƒ size()
__proto__: Object
[[Entries]]: Array(0)

常用的可迭代对象,有数组、Set、Map、字符串。

判断可迭代的方法

Symbol.iterator in Object(iter)
判断被判断对象的原型连上是不是有Symbol.iterator属性。

1
2
3
4
Symbol.iterator in Object([1,2])//true
Symbol.iterator in Object({})//false
Object(12) => Number(12)
Object() 相当于 new Object();是对Object()里内容类型的实例

typeof obj[Symbol.iterator] === 'function'

1
2
var arr = [];
typeof arr[Symbol.iterator] === 'function' //true

  • JS
  • Iterable

展开全文 >>

immutable的理解

2020-04-29

immutable的理解:

什么是immutable:

Immutable 实现的原理是 Persistent Data Structure(持久化数据结构),也就是使用旧数据创建新数据时,要保证旧数据同时可用且不变。同时为了避免 deepCopy 把所有节点都复制一遍带来的性能损耗,Immutable 使用了 Structural Sharing(结构共享),即如果对象树中一个节点发生变化,只修改这个节点和受它影响的父节点,其它节点则进行共享。
more >>

  • React
  • immutable

展开全文 >>

iTerm2插件git的缩写大全

2020-04-29

iTerm2插件git的缩写大全

引用链接
https://github.com/muwenzi/Program-Blog/issues/4

Aliases

完整版
more >>

  • Git

展开全文 >>

git常用命令

2020-04-29

git常用操作

more >>
  • Git

展开全文 >>

http缓存

2020-04-29

链接一
链接二
链接三

  • Web
  • http 缓存

展开全文 >>

git merge

2020-04-29

git merge 的几种形式

转载连接

这几天我就遇到了一个问题,其实也不是遇到问题,而是遇到了疑惑,那就是我在 github 系统中 merge 同时的 PR 的时候发现有好几个选项,但是,却说不清楚这几个选项分别代表什么含义,所以就稍微花了点时间了解了下,顺带做个总结。

merge 的几种形式

在 merge pr 的时候,默认是有三种选项的,分别是

  • 普通的 merge
  • rebase merge
  • squash merge

  • 这其实对应于我们在合并分支的时候的几种方式,所以我就以本地分支的形式来说说有啥区别。

    一个简单的模型

    假设我们一开始的 master 分支上已经有了几个提交,就像这样:

    然后,我们切出一条开发的分支,进行了一些 Feature 的开发,然后我们的分支可能就是这种情况:

    这种情况还好,也比较常遇到,但是,现在问题来了,如果在这个时候 master 有了一些新提交(可能是其他分支合并进来的),那么这个时候情形就成了这样:

    这个情况很有趣,但是我们不讨论,因为这和我们今天的主题无关,以后可以另外开一个话题来说,今天要说的是第二个情况。

    普通 Merge

    说到合并分支,可能我们最熟悉的操作是这样的:

    • 先切换到目标分支(master)
    • 执行命令:git merge devel
    • 删除旧分支(可以在上面一同做):git branch -D devel

    • more >>

      • Git

      展开全文 >>

      « Prev1…345678Next »
      © 2020 Robbie Han
      Hexo Theme Yilia by Litten
      • 所有文章
      • 友链
      • 关于我

      tag:

      • JS
      • Array
      • flat
      • 闭包
      • 内存泄漏
      • babel
      • CSS
      • width:auto
      • width:100%
      • Web
      • 页面渲染
      • DOMContentLoaded
      • load
      • Git
      • 深拷贝
      • 深比较
      • _.isEqual()
      • 变量互换
      • Math
      • 开发工具
      • PicGo
      • Markdown
      • Object.create()
      • new Object()
      • Promise
      • H5
      • webSocket
      • web Worker
      • Async
      • flex
      • align-items
      • align-content
      • React
      • Redux
      • [object Object]
      • for...in
      • for...of
      • http 缓存
      • Iterable
      • immutable
      • location
      • max-hight
      • min-hight
      • Node
      • number
      • npm link
      • create-react-app
      • parseInt
      • Promis.all()
      • replace
      • String
      • rooter
      • 路由
      • DNS
      • 三次握手
      • 四次挥手
      • 前序遍历
      • 中序遍历
      • 后序遍历
      • 层次遍历
      • 链式调用
      • ASCALL
      • margin合并
      • BFC
      • 宏任务
      • 微任务
      • 水平居中
      • 垂直居中
      • 水平垂直居中
      • 工具
      • 数组
      • 交集
      • 并集
      • 柯理化
      • 浏览器内核
      • 进程
      • 线程
      • 类数组对象
      • 继承
      • 节流
      • 滚动加载
      • 重新思考setTimeout
      • 事件循环
      • setTimeout
      • setInterval
      • 时间循环
      • 防抖

        缺失模块。
        1、请确保node版本大于6.2
        2、在博客根目录(注意不是yilia根目录)执行以下命令:
        npm i hexo-generator-json-content --save

        3、在根目录_config.yml里添加配置:

          jsonContent:
            meta: false
            pages: false
            posts:
              title: true
              date: true
              path: true
              text: false
              raw: false
              content: false
              slug: false
              updated: false
              comments: false
              link: false
              permalink: false
              excerpt: false
              categories: false
              tags: true
        

      • 友情链接1
      • 友情链接2
      • 友情链接3
      • 友情链接4
      • 友情链接5
      • 友情链接6
      很惭愧<br><br>只做了一点微小的工作<br>谢谢大家