'test'.charAt('not an integer');
此代码始终返回't'
,我猜测当charAt()
的参数无法转换为整数时,它只返回第一个字符。
但我似乎无法找到记录此行为。我的假设是否正确,你能否指出我记录这种行为的资源?
答案 0 :(得分:2)
是的,它会在第一个位置返回角色。来自ECMAScript 5 spec
让位置为ToInteger(pos)。
和ToInteger的规范:
设number是在输入参数上调用ToNumber的结果。
和ToNumber的规范:
如果语法不能将String解释为StringNumericLiteral的扩展,则ToNumber的结果为NaN。
并返回ToInteger:
如果number为NaN,则返回+0。