我无法在javascript中扩展String原型

时间:2011-11-09 21:49:41

标签: javascript prototype-programming

这是代码

<script>

String.prototype.testthing = function() {
    return "working";
}

alert(String.testthing());

</script>

当我打开此页面时,我收到以下错误

Uncaught TypeError: Object function String() { [native code] } has no method 'testthing'

我无法弄清楚原因。我已经扩展了Array原型而没有任何问题。

1 个答案:

答案 0 :(得分:18)

您正确显示的代码扩展了String原型。但是,您尝试使用String.testthing而不是string实例上的函数调用方法。

alert("".testthing());  // "displays 'working'

如果您确实想要从String构造调用方法,那么您需要在Function上扩展原型

Function.prototype.testthing = function () { 
  return "working";
}
alert(String.testthing());