以下是解释我的问题的摘要:
+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
。
答案 0 :(得分:8)
Function()
构造函数本身就是一个函数。因此,它继承了与任何其他函数相同的原型对象。
String()
的实例继承自原型,但String()
构造函数不是 String()
的实例。它也是一种功能。