我的情况如下
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应用程序中使用它。
我是后端开发人员所以请理解。
答案 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;