摘要: 优雅降级:Web站点在所有新式浏览器中都能正常工作,如果用户使用的是老式浏览器,则代码会检查以确认它们是否能正常工作。由于IE独特的盒模型布局问题,针对不同版本的IE的hack实践过优雅降级了,为那些无法支持功能的浏览器增加候选方案,使之在旧式浏览器上以某种形式降级体验却不至于完全失效. 渐进增强: 阅读全文
posted @ 2017-11-27 21:19 Samsara315 阅读(145) 评论(0) 推荐(0)
摘要: 一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。 线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是 阅读全文
posted @ 2017-11-27 20:49 Samsara315 阅读(142) 评论(0) 推荐(0)
摘要: 伪数组(类数组):无法直接调用数组方法或期望length属性有什么特殊的行为,但仍可以对真正数组遍历方法来遍历它们。典型的是函数的argument参数,还有像调用getElementsByTagName,document.childNodes之类的,它们都返回NodeList对象都属于伪数组。可以使 阅读全文
posted @ 2017-11-27 20:11 Samsara315 阅读(642) 评论(0) 推荐(0)
摘要: function commafy(num) { return num && num .toString() .replace(/(\d)(?=(\d{3})+\.)/g, function($0, $1) { return $1 + ","; }); } console.log(commafy(12 阅读全文
posted @ 2017-11-27 15:33 Samsara315 阅读(186) 评论(0) 推荐(0)
摘要: 方法一: 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); 阅读全文
posted @ 2017-11-27 11:08 Samsara315 阅读(1164) 评论(0) 推荐(0)
摘要: 程序调用自身称为递归,利用变量的原值推出新值称为迭代。 递归的优点大问题转化为小问题,可以减少代码量,同时代码精简,可读性好; 缺点就是递归调用浪费了空间,而且递归太深容易造成堆栈的溢出。 迭代的好处就是代码运行效率好,因为时间只因循环次数增加而增加,而且没有额外的空间开销; 缺点就是代码不如递归简 阅读全文
posted @ 2017-11-25 11:12 Samsara315 阅读(3532) 评论(0) 推荐(1)
摘要: 只需要鉴别这些类型那么使用typeof即可,要鉴别null先判断双等判断是否为null,之后使用typeof判断,如果是obejct的话,再用Array.isArray判断是否为数组,如果是数字再使用isNaN判断是否为NaN,(需要注意的是NaN并不是JavaScript数据类型,而是一种特殊值) 阅读全文
posted @ 2017-11-25 11:03 Samsara315 阅读(710) 评论(0) 推荐(0)
摘要: setTimeout表示间隔一段时间之后执行一次调用,而setInterval则是每间隔一段时间循环调用,直至clearInterval结束。 内存方面,setTimeout只需要进入一次队列,不会造成内存溢出,setInterval因为不计算代码执行时间,有可能同时执行多次代码,导致内存溢出。 阅读全文
posted @ 2017-11-25 10:50 Samsara315 阅读(1045) 评论(0) 推荐(0)
摘要: (1)、null是一个表示”无”的对象,转为数值时为0;undefined是一个表示”无”的原始值,转为数值时为NaN。当声明的变量还未被初始化时,变量的默认值为undefined。 (2)、null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。 (3)、undefined表示”缺 阅读全文
posted @ 2017-11-25 09:27 Samsara315 阅读(262) 评论(0) 推荐(0)
摘要: 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); 阅读全文
posted @ 2017-11-24 20:30 Samsara315 阅读(356) 评论(0) 推荐(0)