Lau*_*erd 5 javascript regex actionscript-3
在Actionscript3和Javascript中,这些语句都给出了相同的结果:
/\S/.test(null) => true
/null/.test(null) => true
/m/.test(null) => false
/n/.test(null) => true
Run Code Online (Sandbox Code Playgroud)
在这种情况下,似乎将null值转换为字符串"null".
这是Ecmascript中的已知错误还是我错过了什么?
CMS*_*CMS 11
这是不是一个错误,但是你是对的,null 强求来'null'和行为上的规范定义的:
RegExp.prototype.test(string),内部相当于表达式: RegExp.prototype.exec(string) != nullexec方法类型的第一个参数转换为字符串,使用ToString内部操作(查找所述的步骤1 exec的方法).ToString内部操作,明确地返回"null"当输入类型Null.总之,在您的示例中,RegExp与字符串匹配'null',因此第一个非空格字符,在本例中为字母'n'.
var a = null+''; // 'null'
/\S/.test(a); // true
(null+'').match(/\S/) // ["n"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
825 次 |
| 最近记录: |