波比小金刚

Results 40 issues of 波比小金刚

thx! i like this repo, but unicode is a trouble, such as: ```js type(target, 'café', 1000, 'cafe', 1000, loop); type(target, '👨‍👩‍👦', 1000, '👨‍👩‍👧‍👦', 1000, loop); ```

```js /** * promise 实现 * copyed from https://juejin.im/post/5b83cb5ae51d4538cc3ec354 */ isFunction = (f) => typeof f === 'function' // promise 状态 const PENDING = 'PENDING' const FULFILLED = 'FULFILLED' const...

参考: [原理剖析](https://segmentfault.com/a/1190000014423308) [offsetHeight、clientHeight、scrollTop等](http://imweb.io/topic/57c5409e808fd2fb204eef52) ```html pull html, body, header, div, main, p, span, ul, li { margin: 0; padding: 0; } .wrapper li { list-style: none; padding: 20px 10px; background-color: #eee;...

> from https://www.zhihu.com/question/23028843 ```js A() B() C() ``` ![first](https://pic4.zhimg.com/80/ba47432176970aeb9e9df4c3cbb3a623_hd.jpg) ```js A() process.nextTick(B) C() ``` ![next](https://pic3.zhimg.com/80/3a591f00cfe6b3c3b51137c2a8bda382_hd.jpg) ```js A() setImmediate(B) C() ``` ![next](https://pic1.zhimg.com/80/2d5e6e9335f8972b0d5a6e010871d828_hd.jpg)

```js // LISP --> C // 2 + 2 (add 2 2) add(2, 2) // 4 - 2 (subtract 4 2) subtract(4, 2) // 2 + (4 - 2) (add...

> ECMAScript6 即正义! 参考: [ECMAScript 6 入门](http://es6.ruanyifeng.com/#docs/let) [ecma-262/6.0 规范](https://www.ecma-international.org/ecma-262/6.0/) 工具: [Traceur](http://google.github.io/traceur-compiler/demo/repl.html#) [Babel](https://babeljs.io/en/repl.html#?babili=false&browsers=&build=&builtIns=false&spec=false&loose=false&code_lz=Q&debug=false&forceAllTransforms=false&shippedProposals=false&circleciRepo=&evaluate=false&fileSize=false&timeTravel=false&sourceType=module&lineWrap=true&presets=es2015%2Ces2016%2Ces2017%2Creact%2Cstage-2&prettier=false&targets=&version=6.26.0&envVersion=) [Buble](https://buble.surge.sh/#) 分别用上面的三个编译工具试试将阮老师书中所有的关于 ES6 中的语法特性,编译成 ES5!并进行比较分析! peace and love ❤️ !无意比较编译器优劣,旨在学习 ES6 特性以及编译处理! ## let 和 const 命令 ###...

# 读浏览器的工作原理一文有感而瞎JB写 > 参考:https://www.html5rocks.com/zh/tutorials/internals/howbrowserswork/ > 上文虽是 2011 年的文章,还是啃一下,温故知新。如果有不对之处,还请指正。 ## 浏览器的主要组件 - 用户界面:除去你请求的资源展示之外的部分,包括地址栏、前进后端按钮等等 - 浏览器引擎:用户界面与内核之间的通信中间层,传递指令 - 呈现引擎:又称浏览器内核 (blink, webkit, ...),负责呈现请求的内容,比如一个 html 页面 - 网络:用于网络调用,比如 HTTP 请求 - 用户界面后端:绘制基本的窗口组件 - javascript 解释器:解释型语言需要一个解释器来解析、执行(V8...)...

这个问题本身就是一个错误的问题。 箭头函数中是没有 this、prototype、arguments 等!!只是单纯的在包裹函数中的词法作用域继承其 this 而已!! 所以并不是我们常用的 var self = this 之类的hack 参见: [阮一峰issue中的讨论](https://github.com/ruanyf/es6tutorial/issues/150#issuecomment-191701992) [MDN](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions)

场景:用户可以(这个版本只能)画一个多边形的情况下,要判断用户画的图形有没有交点。 案例1(无交点): [![无交点](https://s1.ax1x.com/2018/08/23/P7SEuV.md.png)](https://imgchr.com/i/P7SEuV) 案例2(有交点): [![有交点](https://s1.ax1x.com/2018/08/23/P7S1jx.md.png)](https://imgchr.com/i/P7S1jx) 过程: 1. 首先可以通过监听 "draw" 事件拿到用户描的点的坐标数组。 2. 因为要求不高,想到可以通过简单的数学方法实现,最先想到的是限制用户只能画凸多变形或者是凹多边形。 3. 这个方案很快就被否定,决定判断用户是不是画的多边形(无交点)即可。因为这个版本限制了只能画一个多边形,所以很好判断,后端的事儿也少,只需要通过射线算法,判断用户是不是这个区域内的就行。 准备: [叉积](https://zh.wikipedia.org/wiki/%E5%8F%89%E7%A7%AF) 通过叉积来判断向量是不是都在都一个方向(顺时针或者逆时针) 那么如何判断两个线段的交点? [![线段交点](http://bin-liu.ml/static/image/post/2017-05-02-%E5%A6%82%E4%BD%95%E5%88%A4%E6%96%AD%E4%B8%A4%E6%9D%A1%E7%BA%BF%E6%AE%B5%E6%98%AF%E5%90%A6%E7%9B%B8%E4%BA%A4/line-cross.png) 最简单的方法就是以 AB 向量为基准,C、D分局其两侧,且以CD向量为基准,A、B分局其两侧,则两个线段相交 具体的做法就是: ```js |AB| * |AC| * |AB| *...

> 记录一下看到的简单的方案 1. 正则表达式 ```js // 利用零宽断言 '12345645774'.replace(/\B(?=(?:\d{3})+(?!\d))/g, ','); ``` 2. toLocaleString ```js Number("1234564").toLocaleString(); ```