Javascript - 无法设置方法的属性undefined

时间:2014-06-16 15:02:14

标签: javascript

var Bob = function() {

  bob.hey = function (string) {
      return "";
  };

};

var bob = new Bob();

bob.hey('Hi.');

上面的代码返回“TypeError:无法设置'hey'undefined的属性”。怎么了?

3 个答案:

答案 0 :(得分:3)

我认为您打算在this的定义中使用Bob

var Bob = function() {

  this.hey = function (string) {
      return "";
  };

};

var bob = new Bob();

bob.hey('Hi.');

答案 1 :(得分:1)

在您的代码中,此时尚未定义变量bob

bob.hey = function (string) {

相反,您应该使用this来引用当前对象:

this.hey = function (string) {

答案 2 :(得分:1)

从var内部引用变量为this,因为bob未定义...

bob.hey = function (string) {

应该......

this.hey = function (string) {