为什么javascript中的slice()接受浮点值?

问题描述 投票:-2回答:1

我认为以下会抛出一个错误,但它接受了浮点索引。

var str = 'Why does slice() in javascript accept float values?';
console.log(str.slice(4,8.5));
console.log(str.slice(9.5,16.5));
javascript
1个回答
3
投票

ECMA-262 specification

  1. 让relativeStart成为? ToInteger(开始)。

  1. 如果end未定义,则让relativeEnd为len;否则让relativeEnd? ToInteger(结束)。

它尽最大努力尝试将它给出的任何输入转换为整数。

这是所有JavaScript的标准。它几乎总是比异常抛出更喜欢类型转换。

© www.soinside.com 2019 - 2024. All rights reserved.