3
我有情况如下JS类型错误:不是一个函数
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应用程序中使用它。
我后端开发人员,所以请理解。
你似乎从来没有设置初始化对象的'name'属性。我不确定那么这个属性的存在是预期的。我想这跟你所问的问题有某种关系。你确定代码中没有你没有发布的东西吗?就像构造函数结尾的'return data'一样? –
https://jsfiddle.net/7Ldp9gso/ foo方法按预期工作,它的'.name'不会与该代码一起工作。 – GillesC
@GillesC你怎么知道。你不知道传入的是什么。显然,如果OP没有在'.name'中得到一个错误,那么就有一个名字键传入的对象。手头的问题是,函数内部创建的变量是一个私有变量。 – Michelangelo