js 变量作用域

问题 今天有人发了一个网站,问题来源。 一 if (!("a" in window)) { var a = 1; } console.log(a); 按照这种思路就可解,变量声明会被提前,也就是说上面的代码等价于下面代码 var a; if (!("a" in window)) { a = 1; } console. »

ajax-hook.js 剖析

问题 今天某群里有人提了这样一个问题 就是在chrome调试器明明打印出来了xhr,能看到response的值,而在代码里面直接打印response却看不见这个值 结论 直接上结论,console.log打印的是xhr的引用,也就是说,open在打印的时候,xhr其实是对的,xhr.response也确实是空字符串的。但是后来请求完毕过后,xhr.response这个值被修改了,接着才是点开chrome dev-tool里面的XMLHttpRequest,所以这时候才能看到response,产生了一种错觉。 ajax-hook.js 发现这个库代码写得十分简洁 这里是demo代码 hookAjax( »

write 闲谈

问题 今天项目遇到一个问题,简化一下问题。多个client连接经过一些事件触发传输数据给main,main程序本身维护着多个server连接,其中一个server可能对应多个client。将数据写入server,一开始怀疑会不会数据混在一起的问题。后来明白了不会,驱动程序底层都是同步处理,在一次操作内连续输出,不被其它线程插入数据。 先来测一把: //client.js "use strict" let net = require('net'); let stream = net.connect('/ »

js sort函数

[1, 7, 10].sort() [1, 10, 7] sort在不接受任何参数的时候,会把每一个输入当成字符串,按照字典顺序进行排序 »