摘要: ES6实现: [...new Set([1,2,3,1,'a',1,'a'])] ES5实现: [1,2,3,1,'a',1,'a'].filter(function(ele,index,array){ return index array.indexOf(ele) }) 阅读全文
posted @ 2017-08-10 14:31 FE-神鸟 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 既然CommonJs和AMD风格一样流行,似乎缺少一个统一的规范。所以人们产生了这样的需求,希望有支持两种风格的“通用”模式,于是通用模块规范(UMD)诞生了。 阅读全文
posted @ 2017-08-10 14:03 FE-神鸟 阅读(1226) 评论(0) 推荐(0) 编辑
摘要: webpack的loaders是一大特色,也是很重要的一部分。这遍博客我将分类讲解一些常用的laoder 一、loaders之 预处理 css-loader 处理css中路径引用等问题 style-loader 动态把样式写入css sass-loader scss编译器 less-loader l 阅读全文
posted @ 2017-08-10 11:52 FE-神鸟 阅读(2633) 评论(0) 推荐(0) 编辑
摘要: 作者:进击的袋鼠链接:https://www.zhihu.com/question/23031215/answer/124017500来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 1,对于字符串类型,浅复制是对值的复制,对于对象来说,浅复制是对对象地址的复制,并没 阅读全文
posted @ 2017-08-10 11:50 FE-神鸟 阅读(281) 评论(0) 推荐(0) 编辑
摘要: Babel 转译后的代码要实现源代码同样的功能需要借助一些帮助函数,例如,{ [name]: 'JavaScript' } 转译后的代码如下所示: 类似上面的帮助函数 _defineProperty 可能会重复出现在一些模块里,导致编译后的代码体积变大。Babel 为了解决这个问题,提供了单独的包  阅读全文
posted @ 2017-08-10 11:34 FE-神鸟 阅读(16281) 评论(1) 推荐(0) 编辑
摘要: 类似下面这样就可以了,entry设置为对象 每个入口设置为属性,属性的值是一个数组,就可以像单入口一样往这个数组添加entry: { Profile: [ 'webpack-dev-server/client?', 'webpack/hot/only-dev-server', './profile. 阅读全文
posted @ 2017-08-10 11:28 FE-神鸟 阅读(1044) 评论(0) 推荐(0) 编辑
摘要: 按照OSI网络分层模型,IP是网络层协议,TCP是传输层协议,而HTTP是应用层的协议。在这三者之间,SPDY和WebSocket都是与HTTP相关的协议,而TCP是HTTP底层的协议。WebSocket则提供使用一个TCP连接进行双向通讯的机制,包括网络协议和API,以取代网页和服务器采用HTTP 阅读全文
posted @ 2017-08-10 11:24 FE-神鸟 阅读(3629) 评论(0) 推荐(0) 编辑
摘要: defer与async的区别是:前者要等到整个页面正常渲染结束,才会执行;后者一旦下载完,渲染引擎就会中断渲染,执行这个脚本以后,再继续渲染。一句话,defer是“渲染完再执行”,async是“下载完就执行”。另外,如果有多个defer脚本,会按照它们在页面出现的顺序加载,而多个async脚本是不能 阅读全文
posted @ 2017-08-10 10:29 FE-神鸟 阅读(1147) 评论(0) 推荐(0) 编辑
摘要: Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象。 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个 阅读全文
posted @ 2017-08-10 10:28 FE-神鸟 阅读(235) 评论(0) 推荐(0) 编辑
摘要: SCSS 是 Sass 3 引入新的语法,其语法完全兼容 CSS3,并且继承了 Sass 的强大功能。也就是说,任何标准的 CSS3 样式表都是具有相同语义的有效的 SCSS 文件。另外,SCSS 还能识别大部分 CSS hacks(一些 CSS 小技巧)和特定于浏览器的语法,例如:古老的 IE f 阅读全文
posted @ 2017-08-10 10:28 FE-神鸟 阅读(141) 评论(0) 推荐(0) 编辑
摘要: JavaScript值类型和引用类型有哪些 (1)值类型:数值、布尔值、null、undefined。 (2)引用类型:对象、数组、函数。 阅读全文
posted @ 2017-08-10 10:27 FE-神鸟 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 1、什么是媒体查询 媒体查询可以让我们根据设备显示器的特性(如视口宽度、屏幕比例、设备方向:横向或纵向)为其设定CSS样式,媒体查询由媒体类型和一个或多个检测媒体特性的条件表达式组成。媒体查询中可用于检测的媒体特性有 width 、 height 和 color (等)。使用媒体查询,可以在不改变页 阅读全文
posted @ 2017-08-10 10:23 FE-神鸟 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 首先 browserHistory 其实使用的是 HTML5 的 History API,浏览器提供相应的接口来修改浏览器的历史记录;而 hashHistory 是通过改变地址后面的 hash 来改变浏览器的历史记录; History API 提供了 pushState() 和 replaceSta 阅读全文
posted @ 2017-08-10 10:21 FE-神鸟 阅读(546) 评论(0) 推荐(0) 编辑
摘要: exec() 方法的功能非常强大,它是一个通用的方法,而且使用起来也比 test() 方法以及支持正则表达式的 String 对象的方法更为复杂。 如果 exec() 找到了匹配的文本,则返回一个结果数组。否则,返回 null。此数组的第 0 个元素是与正则表达式相匹配的文本,第 1 个元素是与 R 阅读全文
posted @ 2017-08-10 10:21 FE-神鸟 阅读(317) 评论(0) 推荐(0) 编辑
摘要: Babel是一个转换编译器,它能将ES6转换成可以在浏览器中运行的代码。Babel由来自澳大利亚的开发者Sebastian McKenzie创建。他的目标是使Babel可以处理ES6的所有新语法,并为它内置了React JSX扩展及Flow类型注解支持。 阅读全文
posted @ 2017-08-10 10:20 FE-神鸟 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 在React中编写模板时给标签添加class。 如果是固定的className="XX"就可以了。 如果要根据状态值动态应用或去除, 或使用多个class时就麻烦了。 可以使用classnames模块来解决: var classnames= require('classnames'); classn 阅读全文
posted @ 2017-08-10 10:20 FE-神鸟 阅读(268) 评论(0) 推荐(0) 编辑
摘要: lsof -i :端口 kill -9 进程ID 阅读全文
posted @ 2017-08-10 10:19 FE-神鸟 阅读(592) 评论(0) 推荐(0) 编辑
摘要: 安装命令如下: curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1当brew安装成功后,就可以随意安装自己想要的软件了,例如wget,命令如下:sudo bre 阅读全文
posted @ 2017-08-10 10:17 FE-神鸟 阅读(280) 评论(0) 推荐(0) 编辑
摘要: C + D 删除当前行 光标所在行 S + C + F 格式化 S + C + R 重命名 C + { 查找上次 C + } 查找下次 C + S + DE 回到上一次编程位置 C + F 查找 C + R 查找替换 C + G 查找下一个 C + SHIFT + <-/-> 选中光标的左右内容 C 阅读全文
posted @ 2017-08-10 10:17 FE-神鸟 阅读(227) 评论(0) 推荐(0) 编辑
摘要: sudo npm install yarn -g 阅读全文
posted @ 2017-08-10 10:16 FE-神鸟 阅读(1196) 评论(0) 推荐(0) 编辑