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:根据第一个数组排序结果对多维数组进行排序

c++ - boost::bind()-类似的东西,但用于函数调用

javascript - 为什么IE9打开开发者工具不能直接绑定(bind)console.log?

javascript - 正确 react 路由器侧边栏路由,但不显示顶部菜单下的组件

javascript - 将 JS 缩小作为 Maven 目标运行?

Javascript继承范围问题

javascript - JavaScript 中的原型(prototype)继承 : I don't usually need calling the constructor of Parent object assigned to Child. 原型(prototype)

javascript - 将格式添加到 native 日期解析器

javascript - AngularJS 渲染巨大的动态表单