1.输入网址后到底发生了什么?
1.浏览器查找域名的IP地址(DNS递归查找) 2.浏览器给web服务器发送一个HTTP请求(GET) 3.服务器的永久重定向响应(301) 4.浏览器跟踪重定向地址(GET) 5.服务器“处理”请求 6.服务器发回一个HTML响应(200) 7.浏览器开始显示HTML 8.浏览器发送获取嵌入在HTML中的对象(JS,CSS,img等) 9.浏览器发送异步(AJAX)请求
2.css中padding 是内容与边框的空隙。而margin则是模块与模块的空隙。
3.CSS中4种position
1.static (静态定位) //正常文本流 2.relative(相对定位) //文本流位置+设置的定位 3.absolute(绝对定位)//固定的定位 4.fixed(固定定位)//相对于浏览器窗口左上角固定的定位
4.GET和POST的区别
GET: 一般附在网站URL上,使用URL传递参数,
用于信息获取,只读不修改资料。
对所发送信息的数量有限制,一般在2000个字符
使用Request.QueryString来取得变量的值
POST:通过提交表单来传值
一般用于修改服务器上的资源,修改数据库(上传图片,发表东西等等),
对所发送的信息没有限制
通过Request.Form来获取变量的值
在以下情况中,使用 POST 请求:
无法使用缓存文件(更新服务器上的文件或数据库)
向服务器发送大量数据(POST 没有数据量限制)
发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
5.call 和 apply 都是为了改变函数体内部 this 的指向。
二者的作用完全一样,只是接受参数的方式不太一样。
var func1 = function(arg1, arg2) {}; //可以通过 func1.call(this, arg1, arg2); // 或者 func1.apply(this, [arg1, arg2]); 来调用
6.性能优化
代码层面的优化 用hash-table来优化查找
避免在页面的主体布局中使用table,table要等其中的内容完全下载之后才会显示出来,显示比div+css布局慢。 少用全局变量 用innerHTML代替DOM操作,减少DOM操作次数,优化javascript性能 用setTimeout来避免页面失去响应 缓存DOM节点查找的结果 避免使用CSS表达式,避免使用高级选择器,通配选择器 避免全局查询 避免使用with(with会创建自己的作用域,会增加作用域链长度) 多个变量声明合并 避免图片和iFrame等的空Src。空Src会重新加载当前页面,影响速度和效率
尽量避免写在HTML标签中写Style属性
当需要设置的样式很多时设置className而不是直接操作style 移动端性能优化 尽量使用css3动画,开启硬件加速。 适当使用touch事件代替click事件。 避免使用css3渐变阴影效果。 可以用transform: translateZ(0)来开启硬件加速。 不滥用Float。Float在渲染时计算量比较大,尽量减少使用 不滥用Web字体。Web字体需要下载,解析,重绘当前页面,尽量减少使用。 合理使用requestAnimationFrame动画代替setTimeout CSS中的属性(CSS3 transitions、CSS3 3D transforms、Opacity、Canvas、WebGL、Video)会触发GPU渲染,请合理使用。过渡使用会引发手机过耗电增加 (1) 减少http请求次数:CSS Sprites, JS、CSS源码压缩、图片大小控制合适;网页Gzip,CDN托管,data缓存,使用图片精灵,图片服务器。每个请求的重定向的次数应该减至最少。 (2) JS+数据,减少由于HTML标签导致的带宽浪费,前端用变量保存AJAX请求结果,每次操作本地变量,不用请求,减少请求次数 (3) 减少IO读取操作,减少数据库操作。 (4) 尽量使用外部js和css文件以便缓存。 (5) 图片预加载,将样式表放在顶部,将脚本放在底部,初始首屏之外的图片资源按需加载,静态资源延迟加载。。
(6) 从多个域名提供资源服务能增加浏览器并行下载的资源数量,添加Expires头,服务端配置Etag,减少DNS查找等。
原文:http://www.cnblogs.com/shen076/p/6413584.html