var lowerCaseOnly = /^[a-z]+$/;
console.log(lowerCaseOnly.test(null));
console.log(lowerCaseOnly.test());
第一感觉两个都返回false,实际两个都返回true.
以我的理解,正则对象的test方法应该传一个字符串,如果传null,那么就转为'null'字符串,转成字符串后当然就符合条件了,如果什么都不传,相当于传了undefined,转成字符串后变成'undefined',也是符合正则条件的,但是如果将正则表达式换为数字,比如说/\d/,那么就会返回false,测试后发现确实是我想的那样.
44个javascript问题-33(来自知乎)
最新推荐文章于 2021-05-27 10:00:00 发布