2

这是一个片段来解释我的问题:

+function(str) {
  return str.replace(/^[a-z]|\s[a-z]/g,
            Function.call.bind(String.prototype.toUpperCase));
}('foo bar baz.');  //Returns Foo Bar Baz.

Function.call工作,但String.toUpperCase没有。我必须改为写,String.prototype.toUpperCase.

4

1 回答 1

8

构造Function()函数本身就是一个函数。因此,它继承自与任何其他函数相同的原型对象。

的实例String()继承自原型,但String()构造函数不是String(). 它也是一个功能。

于 2016-03-09T15:40:18.377 回答