跨域资源共享——CORS

2018-11-25
阅读 5 分钟
5.9k
跨域资源共享(Cross-Origin Resource Sharing)是一种机制,它使用额外的 HTTP 头部告诉浏览器可以让一个web应用进行跨域资源请求。

前端性能优化—js代码打包

2018-09-10
阅读 8 分钟
10.2k
现在的 web 应用,内容一般都很丰富,站点需要加载的资源也特别多,尤其要加载很多 js 文件。js 文件从服务端获取,体积大小决定了传输的快慢;浏览器端拿到 js 文件之后,还需要经过解压缩、解析、编译、执行操作,所以,控制 js 代码的体积以及按需加载对前端性能以及用户体验是十分的重要。

从0搭建一个Weex项目

2018-04-19
阅读 6 分钟
5.6k
webpack & webpack-dev-server 由于weex-loader暂不支持webpack4,所以,webpack只能安装3.x版本,webpack-dev-server对应安装2.x版本 {代码...}

react、redux、react-redux之间的关系

2018-04-11
阅读 4 分钟
3.5k
一些小型项目,只使用 React 完全够用了,数据管理使用props、state即可,那什么时候需要引入Redux呢?当渲染一个组件的数据是通过props从父组件中获取时,通常情况下是 A --> B,但随着业务复杂度的增加,有可能是这样的:A --> B --> C --> D --> E,E需要的数据需要从A那里通过props传递过来,以及对...

前端代码的简单部署

2017-12-05
阅读 2 分钟
17.8k
在前端的工作流中呢,前端还是要接触到运维服务器的,要会部署前端资源。比如,当第一次部署时,运维小伙伴给你配置好之后,测试环境就可以正常访问了。后期的前端资源会频繁更新,每次更新前端资源,都去麻烦人家就不太好了吧!这个时候,前端申请服务器权限,自己部署,这样就能随时更新测试环境。

前端性能优化的常用手段

2017-07-13
阅读 3 分钟
4.2k
从最开始的CSS放到<head>里面、js放到</body>前面、使用雪碧图等,到后面的静态资源压缩、合并以及使用iconfont代替小图标,再到最近实践的gzip压缩、设置HTTP Header缓存字段...

阿里、网易、滴滴共十次前端面试碰到的问题

2017-06-05
阅读 2 分钟
30.9k
面试了这么多,结果不是太好,有点儿受打击,也促使我近期静下心来反思自己的问题:哪些技术知识掌握的还不错,哪些还有待提高,哪些是需要去恶补的。

CSS进阶——绝对定位元素的宽高是如何定义的

2017-06-05
阅读 5 分钟
14.5k
绝对定位相对于谁来定位? 大多数人都知道是相对于最近的position设置为relative/absolute/fixed的父元素来定位。那如果所有父元素的position都没有设置上面三个值,那又是相对谁来定位呢?

使用canvas画圆形(弧形)进度条

2017-05-22
阅读 4 分钟
9.7k
效果如下: 可以展示整个圆、半圆以及任意角度弧形(左右对称)的进度条。整体思路如下: 先确定展示的形状,是整个圆、半圆还是一般的弧形 把确定好形状的圆弧均分100等份,计算出每一份所占的弧度 灰色圆弧占100份,红色圆弧最终占的份数由参数确定 设置setInterval定时器,重复执行画图操作 清空画布 先画灰色的圆弧...

一次不怎么愉快的滴滴面试经历

2017-05-15
阅读 2 分钟
35.7k
前一段时间一直在面试,滴滴也算是面试几家当中比较不错的公司,还是很期待的。一开始我是在拉勾上投的简历,几天后被标记为不合适,心碎...后来在BOSS直聘上又看到了这个岗位的招聘,就跟HR聊了一下,然后把简历发给她了,第二天就打电话给我安排面试了...一脸懵逼状!我面试的岗位是杭州这边的,滴滴的人事好像都在北...

DIY自己的DOM操作库—minizepto.js

2017-04-12
阅读 5 分钟
2.3k
不是为了造轮子,而是记录笔者一步一步学习zepto.js源码的过程与收获,以及鼓励初中级前端开发者DIY一个自己的简单的DOM操作库。宗旨就是学习源码中涉及到的很多的js知识及一些平常被我们忽略的原生API的使用,还有就是体验一下简单插件的写法,而不是觉得第三方库是那么遥远的存在。

Ajax搭配Promise的简单封装

2017-03-24
阅读 4 分钟
7.6k
先说一下平时工作的情况:日常的工作业务中,与后端数据交互只用了两种形式,GET和POST,写业务代码的时候传的参数都是对象格式{name:'jason',age:27},一般都是这样写:

炒股大赛项目中遇到的跨域情况

2017-03-22
阅读 4 分钟
1.6k
大赛的首页,由于PV量比较大,为了减轻服务器的压力,首页涉及到调用json数据的接口一律转化为静态化数据。 后端把首页需要展示的json数据处理成一份txt文件(其他文件格式也可),内容格式如下:

Chrome DevTools — Timeline

2017-03-08
阅读 4 分钟
9k
关于Timeline一直没下手去写,究其原因是看了文档之后还是有点不知所以然,实践的太少了,甚至都不清楚拿它可以做什么。心里有一个大概的概念就是Timeline是分析性能的!所以我个人就先从网站性能优化开始学习、总结,也写了两篇文章,《网站性能优化—CRP》和《网站性能优化—浏览器渲染》,然后慢慢地就明白了Timeline怎...

网站性能优化—浏览器渲染

2017-03-08
阅读 6 分钟
6.2k
上篇文章《网站性能优化——CRP》已经介绍过网站性能优化中的关键渲染路径部分,相当于从一个“宏观”的角度去优化性能,当然,这个角度也是最重要的优化。本篇就从一个“微观”的层面去优化——浏览器渲染。

网站性能优化—CRP

2017-03-03
阅读 8 分钟
10.8k
为了把HTML、CSS和JavaScript转化成活灵活现、绚丽多彩的网页,浏览器需要处理一系列的中间过程,优化性能其实就是了解这个过程中发生了什么-即CRP(Critical Rendering Path,关键渲染路径)。首先,我们从头开始快速学习一下浏览器是如何显示一个简单网页的。

Chrome DevTools — Network

2017-02-20
阅读 7 分钟
31k
记录网络请求 默认情况下,只要DevTools在开启状态,DevTools会记录所有的网络请求,当然,记录都是在Network面板展示的。 停止记录网络请求 点击Stop recording network log红色图标,当它变为灰色时,表示DevTools不在记录请求 在Network面板下,Command+E(Mac)或者Ctrl+E(Windows,Linux) 清除网络请求 跨页面加载时,...

Chrome DevTools — JS调试

2017-02-18
阅读 6 分钟
25.2k
开发环境下:在js源文件中,想在某个地方设置断点以查看后续代码的执行情况,手动在此处输入代码debugger;,js文件运行的时候会在此处暂停。

Chrome DevTools — Elements

2017-02-10
阅读 3 分钟
6.4k
一、编辑DOM 查看元素 页面上的任意元素,在其上面右键,选择“Inspect" 在Elements面板上,用鼠标手动选择某个DOM节点 点击审查元素按钮,然后去页面上选择DOM 在console里面使用inspect(dom)查看某一元素 导航DOM节点 使用鼠标 >>> 1.在DOM节点上单击一次,高亮此节点 2.展开一个节点:在节点上的任意处双击或...

Chrome DevTools — Console

2017-01-10
阅读 4 分钟
7.6k
前端开发人员离不开Chrome开发者工具,它又这么好用,不好好学习掌握一下它的使用,实在有点明珠暗投啊,本篇先来讲述Console有关的使用。

underscore.js源码的组织结构

2016-12-29
阅读 5 分钟
5.3k
最近开始读源码了,遵循大多数过来人的建议,underscore.js是最适合新手阅读的一个js库,所以我就迫不及待地下载了underscore.js,1.8.3版本。

js函数调用模式和常用的几个方法

2016-06-15
阅读 4 分钟
5.1k
当一个函数被保存为对象的一个属性时,我们称它为一个方法。当一个方法被调用时,this 被绑定到该对象。如果调用表达式包含一个提取属性的动作(即包含一个.点表达式或[subscript]下标表达式),那么它就是被当做一个方法来调用。

js数组常用的一些方法

2016-06-07
阅读 6 分钟
4k
(2) arr.indexOf(searchElement[, fromIndex = 0]) => 返回给定元素在数组中的第一个索引值,否则返回-1

js字符串常用的一些方法

2016-05-27
阅读 4 分钟
7.1k
(3) str.indexOf(substr[, start]) => 返回 substr 在字符串 str 中首次出现的位置,从 start 位置开始查找,如果不存在,则返回 -1。start可以是任意整数,默认值为 0。如果 start < 0 则查找整个字符串(如同传进了 0)。如果 start >= str.length,则该方法返回 -1,除非被查找的字符串是一个空字符串,此时...

将footer固定在页面底部的实现方法

2016-02-18
阅读 3 分钟
69.7k
首先,设置body的高度至少充满整个屏幕,并且body作为footer绝对定位的参考节点;其次,设置main(footer前一个兄弟元素)的padding-bottom值大于等于footer的height值,以保证main的内容能够全部显示出来而不被footer遮盖;最后,设置footer绝对定位,并设置height为固定高度值。

编写高质量JavaScript代码的基本技巧

2016-01-09
阅读 4 分钟
3.1k
一、尽量少用全局变量 减少全局名字空间污染,最理想的情况是一个应用程序仅有一个全局变量。 二、单一var模式 {代码...} 只使用一个var在函数顶部进行变量声明,其好处: 提供一个单一的地址以查找到函数需要的所有局部变量; 防止出现变量在定义之前就被使用的逻辑错误; 帮助牢记要声明变量,以尽可能少地使用全局变...

前端工程师最易读错的英文单词排行榜

2015-11-12
阅读 1 分钟
6.8k
学习前端有两个月时间了,在网上看了很多教程,受益匪浅,非常感谢这些无私奉献自己宝贵知识的前端前辈、同行。但同时也发现了一点小问题,就是有些前端工程师的英文发音不标准,经常会把一些CSS属性名读错。虽然这对程序运行没什么影响,似乎有点吹毛求疵,但是作为一个前端,我们是要与很多人打交道的,随时能说出地道...