随笔分类 - js练习题
摘要:下面的代码,如果队列太长会导致栈溢出,怎样解决这个问题并且依然保持循环部分: 通过修改nextListItem功能可以避免潜在的堆栈溢出,如下所示: 栈溢出主要是因为循环事件,而不是栈。当执行nextListItem时,如果item不是null,在settimeout函数中的nextListItem
阅读全文
摘要:考虑一下以下的代码片段: (a)当用户点击“Button4”的时候会打印什么?并解释为什么? (b)提供一个或多个正确的实现方式。 答:(a)无论点击哪个按钮,都将打印5.因为任何按钮在调用onclick方法时,for循环已经完成了,变量i的值变成了5. (b)关键是要抓住在每一次循环for的时候要
阅读全文
摘要://判断是否是回文串function isPalindrome(str) { str = str.replace(/\W/g, '').toLowerCase(); return (str == str.split('').reverse().join('')); } console.log(isPalindrome("level")); /...
阅读全文
摘要:实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。 拓展:为什么用Object.prototype.toString.call(obj)检测对象类型?不理解这个函数的可以参考这篇博文。 这里
阅读全文
摘要:更多参考:牛客网 https://www.nowcoder.com/questionTerminal/f904c482f21346a6a19efd5a82655518
阅读全文
摘要:给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含删除重复条目后的新数组。
阅读全文
摘要:1 //1.预解释毫无节操-自执行函数 2 f=function(){return true}; 3 g=function(){return false}; 4 (function(){ 5 if(g()&&[]==![]){ //匿名函数中的g,即下面定义的方法g。 // []==![] 返回true 6 ...
阅读全文
摘要:最近碰到这样一个问题: []==![] 为什么等于true? 首先分析 !的优先级较==高,先运算==两侧的操作数: 执行类型转换的规则如下:如果一个运算数是 Boolean 值,在检查相等性之前,把它转换成数字值。false 转换成 0,true 为 1。如果一个运算数是字符串,另一个是数字,在检
阅读全文
摘要:参考:http://www.imooc.com/qadetail/161604?t=227246 https://www.zhihu.com/question/49789706 https://zhidao.baidu.com/question/2270540468949188628.html
阅读全文
摘要:看到这样一个问题:{} + [] 的结果是多少? 一脸懵逼.. 于是在chrome控制台运行 {} + [] 和用 console.log({} + []) 输出,发现结果不一样.. 于是,把各种可能的情况都考虑了一下: 为什么结果会是这样的呢?被绕晕了。 首先情形二和情形三很简单,情形三就是将情形
阅读全文
摘要:解释: 正则表达式 \d{1,3}(?=(\d{3})+$) 表示前面有1~3个数字,后面的至少由一组3个数字结尾。 ?=表示正向引用,可以作为匹配的条件,但匹配到的内容不获取,并且作为下一次查询的开始。 $& 表示与正则表达式相匹配的内容。
阅读全文
摘要:字符串作在程序中是非常常见的,因为程序中绝大部分的数据都可以当作字符串来处理。在这里介绍几种翻转字符串的方法。 (1)使用字符串函数 (2)使用for循环 (3)使用递归
阅读全文

浙公网安备 33010602011771号