页面载入中..

回到页首回到页尾

解决网易云音乐客户端「网络不给力」问题

momo @ 2016.02.25 [ Fun ]

网易云音乐 MAC 客户端出现「网络不给力哦,请检查网络设置」的情况,症状如下:
1、打开 web 版网易云音乐一切正常;
2、相同网络下手机客户端一切正常;
3、打开 Surge 后 MAC 客户端正常,查看 Request 记录发现网络是走的 DIRECT(未走 ** 渠道)

使用各种方法都无法修复,而 Surge 如果常开的话会影响其他软件的使用(一般不会常开),百般无奈,查看网络设置 -> 高级 -> 代理,取消掉了「Web 代理」和「安全 Web 代理」的勾选,重新打开网易云音乐客户端,一切正常。

问题得以解决,不过不算优雅,坏处是,以后每次想要使用 Surge 又要重新勾选这两个选项了。


Javascript 瓶盖换啤酒问题

momo @ 2016.02.24 [ Development ]

题目是这样的,啤酒2块钱一瓶,2个空瓶子或者4个瓶盖可以换一瓶新的,如果手上有10元钱,可以喝多少瓶啤酒。写了个 JS 脚本来计算,代码如下(demo):

BTW:题目的答案是最终可以喝 15 瓶(计算过程如下图),你答对了吗?


基于 ES6 Promise 的 AJAX 简单封装

momo @ 2016.02.03 [ Development ]

基于 Promise 的 ajax 请求,可以实现链式调用,使代码结构更清晰,代码如下:

预览效果 | 源码 | 参考资料


Javascript Currying

momo @ 2016.02.01 [ Development ]

当我们把一个多参数的函数,分解为若干个但参数的函数时,我们就在进行函数柯里化(Currying)。一个小例子

参考文章:尾调用优化Thunk 函数的含义和用法

PS:柯里化的对偶是反柯里化(Uncurrying),且听下回分解吧。


querySelectorAll 和 getElementsByTagName 的区别

momo @ 2016.01.05 [ Development ]

当我们通过 tag 来选取页面元素(比如 p 元素)的时候,有两种方法,document.querySelectorAll(‘p’) 和 document.getElementsByTagName(‘p’)。他们在使用时有稍许不同,querySelectorAll 返回的是一个 Static Node List,而 getElementsBy 系列的返回的是一个 Live Node List(via)。大致可以理解为,getElementsByTagName 返回的是一个可变的对象,当 DOM 刷新的时候,这个对象里面的值也会发生改变,而 querySelectorAll 返回的是一个静态的对象,其值不随 DOM 刷新而改变,所以当页面动态刷新时,两个值是不同的。见代码:

点击查看 DEMO