Coding
未读你觉得jQuery或zepto源码有哪些写的好的地方
jquery源码封装在一个匿名函数的自执行环境中,有助于防止变量的全局污染,然后通过传入window对象参数,可以使window对象作为局部变量使用,好处是当jquery中访问window对象的时候,就不用将作用域链退回到顶层作用域了,从而可以更快的访问window对象。同样,传入undefined参数,可以缩短查找undefined时的作用域链
12345678910111213(function( window, undefined ) { //用一个函数域包起来,就是所谓的沙箱 //在这里边var定义的变量,属于这个函数域内的局部变量,避免污染全局 //把当前沙箱需要的外部变量通过函数参数引入进来 //只要保证参数对内提供的接口的一致性,你还可以随意替换传进来的这个参数 window.jQuery = window.$ = jQuery; })( window );
jquery将一些原型属性和方法封装在了jquery.prot ...
Coding
未读1.border-radius百分比失效1解决方法:设置一个较大值比如 border-radius:9999px;
placeholder属性设置的文字向上偏移的厉害1解决办法:line-height:normal
如果一个应用了css3 transform的元素里面包含fixed定位的元素,在webkit核心的浏览器下,该fixed定位的元素会失效,其实际定位效果类似绝对定位,会跟着滚动条的滚动而滚动!1避免在应用了css3 transform的元素内部嵌套fixed定位的元素。
webkit上的input,button,及select的默认样式可以通过以下代码禁用,然后自定义。
1-webkit-appearance:none;
video标签的父元素(祖辈元素)设置transform样式后,标签会脱离文档流1避免使用transform,如果需要设置位移,可使用绝对定位加top/left代替
webkit上的input,button,及select的默认样式可以通过以下代码禁用,然后自定义。1-webkit-appearance:none;
body设置100%高度后,在移动浏览 ...
如何进行网站性能优化
content方面
减少HTTP请求:合并文件、CSS精灵、inline Image
减少DNS查询:DNS查询完成之前浏览器不能从这个主机下载任何任何文件。方法:DNS缓存、将资源分布到恰当数量的主机名,平衡并行下载和DNS查询
避免重定向:多余的中间访问
使Ajax可缓存
非必须组件延迟加载
未来所需组件预加载
减少DOM元素数量
将资源放到不同的域下:浏览器同时从一个域下载资源的数目有限,增加域可以提高并行下载量
减少iframe数量
不要404
Server方面
使用CDN
添加Expires或者Cache-Control响应头
对组件使用Gzip压缩
配置ETag
Flush Buffer Early
Ajax使用GET进行请求
避免空src的img标签
Cookie方面
减小cookie大小
引入资源的域名不要包含cookie
css方面
将样式表放到页面顶部
不使用CSS表达式
不使用IE的Filter
Javascript方面
将脚本放到页面底部
将javascript和css从外部引入
压缩javascript和css ...
浏览器本地存储
在较高版本的浏览器中,js提供了sessionStorage和globalStorage。在HTML5中提供了localStorage来取代globalStorage
html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage
sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储
而localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的
web storage和cookie的区别
Web Storage的概念和cookie相似,区别是它是为了更大容量存储设计的。Cookie的大小是受限的,并且每次你请求一个新的页面的时候Cookie都会被发送过去,这样无形中浪费了带宽,另外cookie还需要指定作用域,不可以跨域调用
除此之外,WebStorage拥有setItem,getItem,removeItem,cl ...
ES6的了解
新增模板字符串(为JavaScript提供了简单的字符串插值功能)、箭头函数(操作符左边为输入的参数,而右边则是进行的操作以及返回的值Inputs=>outputs。)、for-of(用来遍历数据—例如数组中的值。)arguments对象可被不定参数和默认参数完美代替。ES6将promise对象纳入规范,提供了原生的Promise对象。增加了let和const命令,用来声明变量。增加了块级作用域。let命令实际上就增加了块级作用域。ES6规定,var命令和function命令声明的全局变量,属于全局对象的属性;let命令、const命令、class命令声明的全局变量,不属于全局对象的属性。。还有就是引入module模块的概念
说说你对Promise的理解
依照 Promise/A+ 的定义,Promise 有四种状态:
pending: 初始状态, 非 fulfilled 或 rejected.
fulfilled: 成功的操作.
rejected: 失败的操作.
settled: Promise已被fulfilled或reject ...
html和xhtml 有什么区别?html 是一种基本的web网页设计语言,Xhtml 是一种基于xml 的指置标语言
xhtml 必须有闭合标签,必须字母为小写,必须要有根元素
什么是语义化HTML?直观的标签能够对搜索引擎的抓取有好处,用正确的标签做正确的事
便于对浏览器和搜索引擎的解析
对于HTML语义化的理解?即使在没有css的情况下 页面代码也能很好的被阅读理解,用正确的标签 能够对浏览器和搜索引擎的支持更好。便于后期的维护。
常见的浏览器内核IE(trident) chrome safari(webkit) firefox(gecko) opera(presto)
HTML5为什么只需要写!DOCTYPE HTML?html5 不是基于sgml ,所以不需要对DTD进行引用,但是需要doctype 来规范浏览器的行为(让浏览器按照他们应该的方式来运行)
Doctype作用?标准模式与兼容模式各种什么区别?处于文档的第一行,告诉浏览器用什么方法来解析文档内容
如果式标准 就按照浏览器的最高配置来解析
如果式兼容模式 则会以宽松的方式 向后进行兼容的方式来显 ...
Coding
未读测试一下是不是可以发布了。