摘要: 1、for...in:用于遍历数组或对象的属性。 for(var prop in obj){console.log(obj[prop])}; 该循环遍历对于对象属性是无序的,可能是因为obj本来就是无序的。 2.Object.defineProperty(obj, prop, descriptor) 阅读全文
posted @ 2017-09-18 09:49 落落月 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 1、let和const 1)let所在代码块形成作用域,let声明的变量只在其作用域中有效。 2)不存在变量提升 3)暂时性死区 :只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。 4)相同作用域内不允许重复声明相同变量,包括参数。 5)cons 阅读全文
posted @ 2017-09-13 15:44 落落月 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 1、水平居中 前提:父容器.parent 和子容器.child 1)使用text-align和inline-block 特点:兼容性好,不过需要设置父子元素; 2)margin:0 auto; 特点:兼容性好,不过需要设置宽度; 3)table+margin:0 auto; 特点:只对子元素设置,不 阅读全文
posted @ 2017-09-13 12:06 落落月 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 1、缓存的作用 1)加快资源加载速度,提高用户体验 2)节省带宽,服务器端资源无需重新传输;甚至一些缓存无需进行http请求 3)服务器端缓存,如CDN,可以减缓多用户并行请求的压力,减轻服务器压力 2、缓存分类:服务器端缓存(CDN),客户端缓存(浏览器缓存) 3、浏览器缓存机制 1)强缓存:本地 阅读全文
posted @ 2017-09-13 09:30 落落月 阅读(1063) 评论(0) 推荐(0) 编辑
摘要: 1、css3渐变 1)线性渐变(兼容性写法) background:linear-gradient(to right top, #fff, #000 ); //标准写法 background:-webkit-gradient(linear,left bottom, right top, from(# 阅读全文
posted @ 2017-09-12 17:05 落落月 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 1、最小化Http请求 1)合并静态资源,例如css、js等,可以使用工具打包;2)图片可以制作成sprites图等;3)如果是多图片等静态资源,可以按情况采用多域名并行下载; 2、使用CDN(未了解) 3、避免空的src或href 4、添加到期或缓存控制标头(未了解) 5、Gzip组件(未了解) 阅读全文
posted @ 2017-09-12 15:31 落落月 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 一、跨域定义及类型 定义:只要协议、域名、端口有任何一个不同,都被当做不同的域。 类型:(由于浏览器的同源策略) 1)浏览器中不同域的框架之间不能进行js交互操作; 2)不能通过ajax去请求不同源中的文档; 注意:由于协议和端口造成的跨域,前端无法解决。 跨域处理: 1、document.doma 阅读全文
posted @ 2017-09-12 09:02 落落月 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 1、‘use strict’:严格模式下禁止使用with语句;严格模式下无法删除变量,delete;严格模式下arguments不再追踪参数变化,值在参数的时候就固定了。 2、js在做 == 运算时会将操作数转换为number类型之后再操作,false、[ ]都能转换为数字0;而{ }转换为NAN; 阅读全文
posted @ 2017-09-11 21:42 落落月 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 面试老忘记,代码如下 阅读全文
posted @ 2017-09-11 16:30 落落月 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 今天在看设计模式的时候,遇到一些挺低级的东西,搞不懂,顾查阅资料整理记录一番。 先了解一下new构造函数的过程: 1、创建一个foo的空对象; 2、将func内部的this指向foo函数;(继承func函数内部的属性和方法) 3、foo._proto_ = func.prototye;(继承func 阅读全文
posted @ 2017-09-07 14:42 落落月 阅读(560) 评论(0) 推荐(0) 编辑