一、下面代码的输出结果为(e)
var str1=new RegExp("e");
document.write(str1.exec("hello"));
解析:exec()是正则表达式的方法,匹配字符串中满足正则的内容,将内容作为数组返回,如果没有匹配则返回null。
对于这道题str.exec("hello")简易返回结果为 ['e'],但是由于document.write()会将内容写入文档流并在浏览器页面中显示,所以结果为 e 。
正则表达式中还有一个text方法:RegExp.prototype.test(string)。用于检测字符串是否符合某一正则,返回true或false。
如
console.log(/123/.test('123456')); // true
二、执行以下代码,输出结果为(1 3 5 4)
console.log(1);
let a = setTimeout(() => {console.log(2)}, 0);
console.log(3);
Promise.resolve(4).then(b => {
console.log(b);
clearTimeout(a);
});
console.log(5);
解析:首先输出语句 1 3 5为同步代码,先执行;对于setTimeout()定时器属于异步任务中的宏任务,Promise()属于异步任务中的微任务;微任务先于宏任务执行。
1.同步任务与异步任务
JS属于单线程语言

本文介绍了JavaScript中的正则exec()方法及其返回值,重点解析了同步任务与异步任务(宏任务、微任务)的执行顺序。通过示例代码解释了宏任务和微任务的执行流程,帮助理解Event Loop的工作机制。
最低0.47元/天 解锁文章
2395

被折叠的 条评论
为什么被折叠?



