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

时间:2019-04-05 15:14:48

标签: javascript

我认为以下操作会引发错误,但是它接受了float索引。

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));

1 个答案:

答案 0 :(得分:3)

请参见ECMA-262 specification

  
      
  1. relativeStart 是? ToInteger(开始)。
  2.   

  
      
  1. 如果end未定义,则将 relativeEnd 设置为 len ;否则让 relativeEnd 为? ToInteger( end )。
  2.   

它会尽力将输入的 转换为整数。

这是所有JavaScript的相当标准。它几乎总是喜欢类型转换而不是异常抛出。