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

时间:2015-08-23 23:58:22

标签: javascript arrays string methods

在下面的链接(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 个答案:

答案 0 :(得分:6)

Generic 表示"指的是所有" ,在这种情况下,它表示独立于实例的方法,即

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

您不太可能以非标准方式编写任何代码,因为它已经在大多数人的浏览器中工作过。

如果您使用这种方式访问​​ bar 类型 Foo 的方法在 Foo-like 上使用它们,请通过< em> 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