首页 文章

String和Array泛型方法将来会被弃用

提问于
浏览
5

在下面的链接(MDN站点)中,它说“字符串泛型是非标准的,已弃用,将来可能会被删除 . 请注意,如果不使用下面提供的填充程序,则不能跨浏览器依赖它们 . ”

他们所指的方法是指他们在本声明下面提供的垫片中列出的方法吗?这是对我所看到的短语“String generics”的唯一引用,所以这让我很困惑 .

对于Array泛型也是同样的问题,因为该网站也提到了类似的情况 .

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String#String_generic_methods

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array#Array_generic_methods

1 回答

  • 6

    通用表示"referring to all",在这种情况下,它表示独立于实例的方法,即

    var foo = 'bar';
    String.split(bar, 'a'); // "generic" method, non-standard, will throw ReferenceErrors
    bar.split('a'); // instance method, standard
    

    您不太可能以非标准方式编写任何代码,因为它已经无法在大多数人的浏览器中运行 .


    如果你使用这种方式访问bar一个Foo类型的方法在类似Foo的东西上使用它们,那么请通过Foo.prototype.bar.call来代替,即

    var baz = {length: 2, 0: 'fizz', 1: 'buzz'}; // Array-like
    Array.slice(baz, 0, 1); // bad
    Array.prototype.slice.call(baz, 0, 1); // good
    

相关问题