查找并修复页面意外的overflow
· ☕ 1 分钟

响应式网站设计切换不同尺寸后偶尔会出现页面内容比屏幕要宽面导致出现横向滚动条。这里有个脚本可以方便的检测哪个元素超出了屏幕:

var docWidth = document.documentElement.offsetWidth;

[].forEach.call(
  document.querySelectorAll('*'),
  function(el) {
    if (el.offsetWidth > docWidth) {
      console.log(el);
    }
  }
);

找到元素后,修改适配即可。


家用游戏机的历史:世嘉、任天堂和 PlayStation 的故事
· ☕ 14 分钟

今年是电子游戏业很重要的一年,下一代游戏主机 PlayStation 5 和 Xbox Series X 都将发布。

这件事有多重要,就这么说吧,大家都觉得,电影业很庞大,对不对?但是,你可能不知道,2019年全国电影总票房,只有全国游戏收入的五分之一!


如何选择开源许可证?
· ☕ 1 分钟

如何为代码选择开源许可证,这是一个问题。

世界上的开源许可证,大概有上百种。很少有人搞得清楚它们的区别。即使在最流行的六种—-GPLBSDMITMozillaApacheLGPL-—之中做选择,也很复杂。

乌克兰程序员Paul Bagwell,画了一张分析图,说明应该怎么选择。这是我见过的最简单的讲解,只用两分钟,你就能搞清楚这六种许可证之间的最大区别。


501 程序员宣言
· ☕ 2 分钟

原文:The 501 Developer Manifesto

翻译:码农真经

501程序员指的是,一到 5:01 就离开办公室下班回家的程序员。

我们是软件开发人员,为自身的工作感到自豪,但我们不选择完全被工作所定义所支配。


什么是闭包?
· ☕ 3 分钟

文章内容

  • 《JavaScript ES6 函数式编程入门经典》4.1理解闭包
  • 《JavaScript高级程序设计(第3版)
  • 《代码之髓 编程语言核心概念》
  • 闭包 - JavaScript | MDN


['1','7','11'].map(parseInt)反向面试题
· ☕ 2 分钟

经常看到这个面试题:

想必大家已经非常熟悉Map的原理,因为:

map(callback, [thisArg]) 方法:

  • 接受一个回调函数 callback,返回一个 新的数组
  • 返回的数组的元素的值为调用 callback 函数所返回的值(原数组有几个元素,就调用几次 callback
  • callback 接受 3 个参数:
    • currentValue:当前正在处理的数组元素的值
    • index:当前正在处理的数组元素的索引
    • arr:调用 map 方法的数组

而parseInt接收两个参数:string值和radix进制值:


人是怎么废掉的?
· ☕ 3 分钟

人是怎么废掉的? - 知乎

引以为戒!

1、只获取碎片化的信息。

十几秒看一个抖音视频,半分钟看一篇热点文章,刷到段子的时候会心一笑,看到深度内容的时候赶紧划走。

每遇意见分歧,胸中只知大概,嘴上却振振有词;


知识的传递
· ☕ 2 分钟

教学就像安装软件的过程。要把多年沉淀下来的东西装到另一个脑子里,不是一件容易的事情,更不是一蹴而就的事情。就像搬家收拾东西一样,这可以帮助整理自己的头脑。


JavaScript 8种字符串反转的方法
· ☕ 2 分钟

在JavaScript中,如果要做字符串反转,我们第一时间会想到:

1

const str = “www.mzh.ren”;
str.split(’’).reverse().join(’’);
// “ner.hzm.www”

即,字符串转化为数组,调用数组的reverse()方法,连接数组成字符串。