11 2017 档案
摘要:var arr = [1, 5, 8, 9, 6, 3]; var arr2 = []; while (arr.length) { var temp = arr.pop(); arr2.push(temp) } alert(arr2)
阅读全文
摘要:vue仅仅是mvvm中的view层,只是一个如jquery般的工具库,而不是框架,而angular而是mvvm框架。 vue的双向邦定是基于ES5 中的 getter/setter来实现的,而angular而是由自己实现一套模版编译规则,需要进行所谓的“脏”检查,vue则不需要。因此,vue在性能上
阅读全文
摘要:优雅降级:Web站点在所有新式浏览器中都能正常工作,如果用户使用的是老式浏览器,则代码会检查以确认它们是否能正常工作。由于IE独特的盒模型布局问题,针对不同版本的IE的hack实践过优雅降级了,为那些无法支持功能的浏览器增加候选方案,使之在旧式浏览器上以某种形式降级体验却不至于完全失效. 渐进增强:
阅读全文
摘要:一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。 线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是
阅读全文
摘要:伪数组(类数组):无法直接调用数组方法或期望length属性有什么特殊的行为,但仍可以对真正数组遍历方法来遍历它们。典型的是函数的argument参数,还有像调用getElementsByTagName,document.childNodes之类的,它们都返回NodeList对象都属于伪数组。可以使
阅读全文
摘要:function commafy(num) { return num && num .toString() .replace(/(\d)(?=(\d{3})+\.)/g, function($0, $1) { return $1 + ","; }); } console.log(commafy(12
阅读全文
摘要:方法一: var arr = [1,2,3,4,5,6,7,8,9,10]; function randSort1(arr){ for(var i = 0,len = arr.length;i < len; i++ ){ var rand = parseInt(Math.random()*len);
阅读全文
摘要:程序调用自身称为递归,利用变量的原值推出新值称为迭代。 递归的优点大问题转化为小问题,可以减少代码量,同时代码精简,可读性好; 缺点就是递归调用浪费了空间,而且递归太深容易造成堆栈的溢出。 迭代的好处就是代码运行效率好,因为时间只因循环次数增加而增加,而且没有额外的空间开销; 缺点就是代码不如递归简
阅读全文
摘要:只需要鉴别这些类型那么使用typeof即可,要鉴别null先判断双等判断是否为null,之后使用typeof判断,如果是obejct的话,再用Array.isArray判断是否为数组,如果是数字再使用isNaN判断是否为NaN,(需要注意的是NaN并不是JavaScript数据类型,而是一种特殊值)
阅读全文
摘要:setTimeout表示间隔一段时间之后执行一次调用,而setInterval则是每间隔一段时间循环调用,直至clearInterval结束。 内存方面,setTimeout只需要进入一次队列,不会造成内存溢出,setInterval因为不计算代码执行时间,有可能同时执行多次代码,导致内存溢出。
阅读全文
摘要:(1)、null是一个表示”无”的对象,转为数值时为0;undefined是一个表示”无”的原始值,转为数值时为NaN。当声明的变量还未被初始化时,变量的默认值为undefined。 (2)、null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。 (3)、undefined表示”缺
阅读全文
摘要:1.快速排序 var arr = [1, 2, 5, 6, 3, 1, 4]; function mySort(arr) { if (arr.length <= 1) { return arr; } // 获取中间值的索引 var len = Math.floor(arr.length / 2);
阅读全文
摘要:不同点: 1. 触发条件不同。transition通常和hover等事件配合使用,由事件触发。animation则和gif动态图差不多,立即播放。 2. 循环。 animation可以设定循环次数。 3. 精确性。 animation可以设定每一帧的样式和时间。tranistion 只能设定头尾。
阅读全文
摘要:设置元素的垂直对齐方式 常用的值: 1.baseline:默认。元素放置在父元素的基线上。 2.sub:垂直对齐文本的下标。 3.super:垂直对齐文本的上标 4.top:把元素的顶端与行中最高元素的顶端对齐 5.text-top:把元素的顶端与父元素字体的顶端对齐 6.middle:把此元素放置
阅读全文
摘要:一般在做自适应的网页设计的时候用,用这个属性网页结构才不会被破坏。 常用的值: 1. content-box:宽度和高度分别应用到元素的内容框,在宽度和高度之外绘制元素的内边距和边框。 2. border-box:为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制,通过从已设定的宽度和高
阅读全文
摘要:1.封装方法插件 封装方法插件在本质上来说,是一个对象级别的插件,这类插件首先通过jQuery选择器获取对象,并为对象添加方法,然后,将方法进行打包,封闭成一个插件,这种类型的插件编写简单,极易调用,也很方便地使用了jQuery中功能强大的选择器,因此,成为开发插件的首选.2.封装函数插件 封闭函数
阅读全文
摘要:转自阮老师的 jQuery的deferred对象详解
阅读全文
摘要:js的阻塞特性: 所有浏览器在下载JS的时候,会阻止一切其他活动,比如其他资源的下载,内容的呈现等等。 直到JS下载、解析、执行完毕后才开始继续并行下载其他资源并呈现内容。 为了提高用户体验,新一代浏览器都支持并行下载JS,但是JS下载仍然会阻塞其它资源的下载(例如.图片,css文件等)。 *由于浏
阅读全文
摘要:1.使用空标签清除浮动。 这种方法是在所有浮动标签后面添加一个空标签 定义css clear:both. 弊端就是增加了无意义标签。 2.使用overflow。 给包含浮动元素的父标签添加css属性 overflow:auto; zoom:1; zoom:1用于兼容IE6。 3.使用after伪元素
阅读全文
摘要:socket是网络传输层的一种技术,跟http有本质的区别,http是应用层的一个网络协议。使用socket技术理论上来讲, 按照http的规范,完全可以使用socket来达到发送http请求的目的,只要发送的数据包按照http协议来即可 Socket和http的区别: Socket是长连接,htt
阅读全文
摘要:XHTML 要求正确嵌套 XHTML 所有元素必须关闭 XHTML 区分大小写 XHTML 属性值要用双引号 XHTML 用 id 属性代替 name 属性 XHTML 特殊字符的处理
阅读全文
摘要:1.对象字面量创建 var person={ name:'aaa', age:18 } 2.构造函数创建 function Person(name,age){ this.name=name; this.age=age; this.say=function(){ alert('hello'+this.
阅读全文
摘要:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content
阅读全文
摘要:1.回调函数 f1(f2); 回调函数是异步编程的基本方法。其优点是易编写、易理解和易部署;缺点是不利于代码的阅读和维护,各个部分之间高度耦合 (Coupling),流程比较混乱,而且每个任务只能指定一个回调函数。 2.事件监听 f1.on('done',f2); 事件监听即采用事件驱动模式,任务的
阅读全文
摘要:ajax的五种状态(readyState ) 0 - (未初始化)还没有调用send()方法 1 - (载入)已调用send()方法,正在发送请求 2 - (载入完成)send()方法执行完成,已经接收到全部响应内容 3 - (交互)正在解析响应内容 4 - (完成)响应内容解析完成,可以在客户端调
阅读全文
摘要:内存泄漏指任何对象在您不再拥有或需要它之后仍然存在。 垃圾回收器定期扫描对象,并计算引用了每个对象的其他对象的数量。如果一个对象的引用数量为 0(没有其他对象引用过该对象),或对该对象的惟一引用是循环的,那么该对象的内存即可回收。 setTimeout 的第一个参数使用字符串而非函数的话,会引发内存
阅读全文
摘要:1.针对移动端程序,Zepto有一些基本的触摸事件可以用来做触摸屏交互(tap事件、swipe事件),Zepto是不支持IE浏览器的。 2.DOM操作的区别:添加id时jQuery不会生效而Zepto会生效 3.事件触发的区别:使用jquery时load事件的处理函数不会执行;使用zepto时loa
阅读全文
摘要:https://segmentfault.com/a/1190000010330905
阅读全文
摘要:一、水平居中的方法 1.元素为行内元素,设置父元素text-align:center 2.如果元素宽度固定,可以设置左右margin为auto; 3.如果元素为绝对定位,设置父元素position为relative,元素设left:0;right:0;margin:auto; 4.使用flex-bo
阅读全文