在下面的链接(MDN网站)上,它说“字符串泛型是非标准的,已弃用,将来可能会被删除。请注意,如果不使用下面提供的填充程序,则不能跨浏览器依赖它们。 “
他们所指的方法是指他们在本声明下面提供的垫片中列出的方法吗?这是对我所看到的短语“String generics”的唯一引用,因此让我感到困惑。
对于Array泛型也是同样的问题,因为该网站也提到了类似的情况。
答案 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