JavaScript repeat-Polyfill:这些代码结构有意义吗?

迈克尔·泽奇

我试图理解String.prototype.repeat()-polyfill的代码。

此处的完整代码:https : //developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/repeat

我问自己以下部分是否合乎逻辑:

    // Tries to cast the parameter 'count' to a number.
    count = +count;

    // If the cast fails ('count' has become NaN) then
    // assign 0 to the parameter-variable.
    if (count != count) {
      count = 0;
    }

    // Does some more checks with the parameter ...
    if (count < 0) {
      throw new RangeError('repeat count must be non-negative');
    }
    if (count == Infinity) {
      throw new RangeError('repeat count must be less than infinity');
    }
    // End of checks ...

    // Rounds the parameter to next lower integer.
    count = Math.floor(count);

    // Checks if count is 0. In that case: Terminate 
    // the function / Return an empty string.
    if (str.length == 0 || count == 0) {
      return '';
    }

为什么不在投射失败后终止(在顶部)?

而是分配0,然后运行检查,并检查0。如果该状态为true,则终止。

对我来说毫无意义。

有什么我不了解的吗?

马丁·查夫

因为此polyfill需要实现与规范中相同的行为。规范说如果值小于零,则应该引发错误。

另外,在开始时强制转换为数字是可以的,但是可以使用无效数字直接调用此函数,如下所示:

var string = 'abc';
string.repeat(-1); // throws range error

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JavaScript repeat-Polyfill:这些代码结构有意义吗?

来自分类Dev

现有的Javascript框架对Typescript有意义吗?

来自分类Dev

使用JavaScript进行输入消毒不是没有意义吗?

来自分类Dev

通过使用javascript原型系统创建共享结构的不可变对象是否有意义?

来自分类Dev

在Java 8 Nashorn JavaScript引擎中同时加载脚本是否有意义

来自分类Dev

Javascript数组到布尔类型强制没有意义

来自分类Dev

PyGTK仍然有意义吗?

来自分类Dev

PyGTK仍然有意义吗?

来自分类Dev

base()的用法有意义吗?

来自分类Dev

属性的属性有意义吗?

来自分类Dev

如何合并这些mysql查询?这样做有意义吗?

来自分类Dev

在MVC 5项目模板中,使用附带的Javascript进行捆绑和缩小是没有意义的

来自分类Dev

为代码点火器2.1.4修改的本机会话...有意义吗?

来自分类Dev

以下代码序列在 C# 中有意义吗

来自分类Dev

是吗 超级/扩展byte []有意义吗?

来自分类Dev

以下lua代码没有意义

来自分类Dev

如何给执行代码有意义的位置以显示异常?

来自分类Dev

请帮助没有意义的协议代码

来自分类Dev

以下lua代码没有意义

来自分类Dev

Flask代码没有意义(对我而言)

来自分类Dev

跳转加密帮助?代码没有意义

来自分类Dev

使用R进行回归的randomForest有意义吗?

来自分类Dev

缩小和缩小都有意义吗?

来自分类Dev

Abs(无符号长整数)有意义吗?

来自分类Dev

单例模式对套接字有意义吗?

来自分类Dev

使IO成为MonadCont的实例有意义吗?

来自分类Dev

REM在边界半径上有意义吗?

来自分类Dev

阻止全局迭代器有意义吗?

来自分类Dev

static final String =“ something”-静态有意义吗?

Related 相关文章

热门标签

归档