摘要:
解决:window.open 后设置关闭当前页面 window.opener = null 阅读全文
摘要:
# 普通`` 没有 `defer` 或 `async`,浏览器会立即加载并执行指定的脚本,“立即” 指的是在渲染该 `script` 标签之下的文档元素之前,也就是说不等待后续载入的文档元素,读到就加载并执行。# `async``` 有 `async`,加载和渲染后续文档元素的过程将和 `script.js` 的加载与执行并行进行(异步)。# `defer``` 有 `defer`,加载后续文档元... 阅读全文
摘要:
# DOM Level 0Events:绑定到 DOM 的属性上,找不到官方文档DOM0 是在 W3C 进行标准备化之前出现的,实际上是未形成标准的试验性质的初级阶段的 DOM。```jsvar tdiv = document.createElement('div');// 绑定事件tdiv.onclick = function(d){console.log('click tdiv!')}// 手... 阅读全文
摘要:
- Fetch 请求默认是不带 Cookie 的,需要设置 fetch(url, {credentials: 'include'})- 服务器返回 400,500 错误码时并不会 reject,只有网络错误这些导致请求不能完成时,fetch 才会被 reject。[传统 Ajax 已死,Fetch 永生 - 会影 - SegmentFault 思否](https://segmentfaul... 阅读全文
摘要:
[tc39/proposal-hashbang: #! for JS](https://github.com/tc39/proposal-hashbang)某些奇怪的报错可能是因为系统不支持 Shebangs / Hashbang 导致的。貌似 Node.js 已经支持这个新特性了,使用[fork](https://nodejs.org/api/child_process.html#child_p... 阅读全文
摘要:
iframe:# iframe 内容加载后不改变使用:`onload="this.height=this.contentWindow.document.documentElement.scrollHeight"`例如:```html Document 自适应高度 非自适应高度 ```# iframe 内容加载后改变定时改变 iframe 高度:```jssetInterval(()... 阅读全文
摘要:
# 回车和换行JSON 无法处理回车和换行,例如下面的语句会报错```jsJSON.parse({ a: "\r" });```- `\r`: `\x0D`回车 CR (Carriage Return)- `\n`: `\x0A`换行 LF (Line Feed)# JSON.stringify 出现:Converting circular structure to JSON```js//... 阅读全文
摘要:
# 背景最近需要改点 neo4j-browser 的代码做个 demo,分析初始化时运行命令的代码时花了很多时间,记录一下。# 目的找出 dispatch `SINGLE_COMMAND_QUEUED` action 的地方。PS: 要是会 [redux-observable](https://redux-observable.js.org/), [Redux](http://github.co... 阅读全文
摘要:
JS 使用 IEEE 754 的双精度数表示数字,1 位符号,10 位指数,53 位底数。所以 JS 数字精度近似为 15.95 位 10 进制(`10 ** 15.95`)。也就是说整部加小数部分超过 15 位再用 Number 类型就不合适了,可以使用 JS 的[BigInt](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Re... 阅读全文
摘要:
Object 的 key 是排过序的,但这个 Object 的 key 的排序和数组下标不同是有限制的,我在 Node.js(Chrome V8 引擎)测试 Object 的 key 只有在小于`2^32 - 1`时才会排序。要保证 Object 的 key 的顺序的话可以先获取可枚举属性然后排序,参见:[Object.entries() - JavaScript | MDN](https://d... 阅读全文