为什么在chrome浏览器下打印出false

为什么在chrome浏览器下打印出false

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
 // var str = '1.html\n2.css\n3.javascript',
    //     pattern = /\n/;
    // console.log(str);
    // console.log(pattern.exec(str));

 var str = '**   js',
 pattern = /\t/;
 console.log(str);
 console.log(pattern.test(str));

</script>
</body>
</html>


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

http://img1.sycdn.imooc.com//climg/5b723e360001d3e404790269.jpg

\t:水平制表(跳到下一个Tab位置),不是空格哦,不要把这两个弄混了,经测试结果为true,

祝学习愉快!

  • Usagii 提问者 #1
    我在chrome下的控制台也得到的是true,但是如果在webstorm下编辑,得到的就是false.我发现我直接在控制台输入var str = ' js';和我将webstorm的这个语句直接复制过来,得到的结果不一样,前者返回正确的结果,后者返回false。那么这是编辑器对我敲下tab键做了什么特殊处理吗
    2018-08-14 10:42:41
  • Usagii 提问者 #2
    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script> var str = ' js';//这个是在chrome浏览器中直接输入的,tab+'js'; // var str = ' js';//这个是在webstorm中输入的tab+'js'; var pattern = /\t/; console.log(pattern.exec(str)); console.log(pattern.test(str)); </script> </body> </html> 老师能不能复制一下我的这个试一试,前者出现正确结果,后者null和false;两个我都是输入的tab键+js,不存在和空格混淆
    2018-08-14 10:52:11
  • 妮可妮可妮_ 回复 提问者 Usagii #3
    tab会被浏览器解读成空格,所以不可以这样子测试哦!
    2018-08-14 10:55:05
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
HTML5&CSS3进阶与常用框架 2018
  • 参与学习       315    人
  • 提交作业       136    份
  • 解答问题       626    个

如果你有H5、CSS3、JS基础,热爱前端并希望在前端应用方面不断进步,那就来吧,本路径为你带来的课程有HTML5进阶、CSS3进阶、JS面向对象、jQ基础、Less等,助你进一步提升前端开发技能

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师