我的情况如下
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应用程序中使用它.
我是后端开发人员所以请理解.
最佳答案 您需要为当前上下文指定名称(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();