回答了问题2018-03-05
错误信息就是 Error processing ICE candidate 和 ICE failed, add a TURN server and see about:webrtc for more details,获取 candidate 时候失败了,firefox 提示你需要添加 TURN server,看上去像是你ice server 配置有问题,或者是 ice server 服务有问题。
赞了回答2017-10-26
只能用第三方库[链接]
赞了回答2017-08-22
{代码...}
赞了回答2017-08-22
{代码...}
赞了回答2017-08-09
我知道了,只要在atom插件里关掉关于git的插件就可以正常工作了
回答了问题2017-08-09
显示的是有变更的文件哈
赞了文章2017-06-22
WebAssembly 的概念、意义以及未来带来的性能提升相信已是耳熟能详,笔者在前端每周清单系列中也是经常会推荐 WebAssembly 相关文章。不过笔者也只是了解其概念而未真正付诸实践,本文即是笔者在将我司某个简单项目中的计算模块重构为 WebAssembly 过程中的总结。在...
赞了文章2017-06-22
WebAssembly 的概念、意义以及未来带来的性能提升相信已是耳熟能详,笔者在前端每周清单系列中也是经常会推荐 WebAssembly 相关文章。不过笔者也只是了解其概念而未真正付诸实践,本文即是笔者在将我司某个简单项目中的计算模块重构为 WebAssembly 过程中的总结。在...
回答了问题2017-06-01
ES6在Number对象上,新提供了Number.isNaN()方法,建议直接使用Number.isNaN()来检查一个值是否为NaN。另外除开 +0 和 -0 的情况,===是满足需求的,更好一点的方式使用Object.is()
回答了问题2017-06-01
ES6 允许字面量定义对象时,用表达式作为对象的属性名 {代码...}
回答了问题2017-05-30
这个项目 https://www.freecodecamp.com还是有一定帮助的,注意根据点自主延伸,配合MDN自学,如果你能坚持下来,应该会有所帮助。
回答了问题2017-05-30
简单的讲setTimeout(fn,200)需要等到当前函数调用栈(主进程上的同步任务)清空之后才开始执行,会在下一轮事件循环(主线程从"任务队列"中读取事件)开始时执行,setTimeout只上将事件插入了"任务队列",这里设置的时间是相对于在下一轮事件循环开始时的时间的间隔。
回答了问题2017-05-09
我来做个搬运工,拿去不谢[链接]具体实现原理:[链接]
回答了问题2017-05-09
这个写法不是很好哟~如果是自学的话建议找点比较新一点,制作比较好一点的资源, 或者 MDN,不要被带偏了具体怎么优化,提示两点: 事件代理 闭包
回答了问题2017-05-09
贪多嚼不碎,虽然前端向后端拓展是发展的方向,但也是需要时间沉淀的,如果是为了生存,明确和上一级说明你想法,多多沟通吧,又或者这些都不是你 care 的,就是做的不开心,趁早换工作吧,不要浪费自己的时间,下次找工作的时候,多多考察吧,工作是双向选择的,任...
发布了文章2017-04-16
纸小墨(InkPaper)是一个GO语言编写的开源静态博客构建工具,可以快速搭建博客网站。它无依赖跨平台,配置简单构建快速,注重简洁易用与更优雅的排版。使用 Travis CI 可以解决 自动构建和自动部署的问题, 这样能让我们更加专注书写。
回答了问题2017-04-04
这个只是实体在浏览器的呈现效果。你需要使用 innerHTML 才能看到 div 里真正的文本子节点(HTML文本),可以在浏览器 console 中看到你想要的结果。
赞了回答2017-04-04
0<100<(0+4) -> (0<100)<4 -> true<4 -> 1<4 -> true
赞了回答2017-04-04
低级错误,函数执行应该加上括号 await q();。
赞了回答2017-02-28
A closure is closed over variable。 闭包捕获的是变量,不是值。 认真想想变量和值的区别,就明白了: 循环了5次,产生了5个闭包,这5个闭包都捕获同一个变量i,若干秒后,它们执行的时候,i已经是6了。 你要想捕获一个i的副本,就要想办法从i“复制”一个值到另一个...