摘要: 程序调用自身称为递归,利用变量的原值推出新值称为迭代。 递归的优点大问题转化为小问题,可以减少代码量,同时代码精简,可读性好; 缺点就是递归调用浪费了空间,而且递归太深容易造成堆栈的溢出。 迭代的好处就是代码运行效率好,因为时间只因循环次数增加而增加,而且没有额外的空间开销; 缺点就是代码不如递归简 阅读全文
posted @ 2017-11-25 11:12 Samsara315 阅读(3459) 评论(0) 推荐(0) 编辑
摘要: 只需要鉴别这些类型那么使用typeof即可,要鉴别null先判断双等判断是否为null,之后使用typeof判断,如果是obejct的话,再用Array.isArray判断是否为数组,如果是数字再使用isNaN判断是否为NaN,(需要注意的是NaN并不是JavaScript数据类型,而是一种特殊值) 阅读全文
posted @ 2017-11-25 11:03 Samsara315 阅读(695) 评论(0) 推荐(0) 编辑
摘要: setTimeout表示间隔一段时间之后执行一次调用,而setInterval则是每间隔一段时间循环调用,直至clearInterval结束。 内存方面,setTimeout只需要进入一次队列,不会造成内存溢出,setInterval因为不计算代码执行时间,有可能同时执行多次代码,导致内存溢出。 阅读全文
posted @ 2017-11-25 10:50 Samsara315 阅读(1031) 评论(0) 推荐(0) 编辑
摘要: (1)、null是一个表示”无”的对象,转为数值时为0;undefined是一个表示”无”的原始值,转为数值时为NaN。当声明的变量还未被初始化时,变量的默认值为undefined。 (2)、null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。 (3)、undefined表示”缺 阅读全文
posted @ 2017-11-25 09:27 Samsara315 阅读(241) 评论(0) 推荐(0) 编辑