JS TypeError:不是函数

时间:2016-03-05 14:33:12

标签: javascript angularjs typeerror

我的情况如下

function Field(data){
    var name = data.name;
    this.foo = function(){
        console.log("foo");    
    }
}
...
field = new Field(someData);
...
console.log(field.name); //returns its name as expected
field.foo(); //TypeError: field.foo is not a function

这有什么问题?我在angularjs应用程序中使用它。

我是后端开发人员所以请理解。

1 个答案:

答案 0 :(得分:1)

您需要将name分配给当前上下文(this)。但是,foo()函数应该在您的问题中正常工作。请参阅此代码段作为演示:



function Field(data) {
  this.name = data.name;
  this.foo = function() {
    document.writeln('foo' + '<br />');
  }
}

var someData = { name: 'MyName' };
var field = new Field(someData);
document.writeln(field.name + '<br />');
field.foo();
&#13;
&#13;
&#13;

相关问题