Javascript:为什么我可以在不提及原型(prototype)的情况下访问 Function.prototype.call?

标签 javascript prototypal-inheritance function-binding

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

+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

最佳答案

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

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

关于Javascript:为什么我可以在不提及原型(prototype)的情况下访问 Function.prototype.call?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35896071/

相关文章:

javascript - 尝试在带有 .prototype 属性的 javascript 中理解/学习/使用继承

javascript - Node JS 中的原型(prototype)继承

javascript - 你可以取消绑定(bind)到文档的 jQuery 函数吗?

javascript - 在 jQuery 中有没有一种方法可以循环数组,以便在循环到下一个循环之前首先等待服务器的响应?

javascript - Angular Material -向左移动md-secondary

javascript - 为什么在原型(prototype)中定义属性被认为是一种反模式

javascript - console.log() 在控制台以外的对象上调用

javascript - 类方法中的上下文作为变量

javascript - 如何在 Highcharts 中围绕实心量规制作刻度线

javascript - D3 & Angular : What's the best way to resize multiple plots on window resize?