如何在对象中查找特定项在javascript中不是一个函数
我有下面的代码来管理一本书如何在对象中查找特定项在javascript中不是一个函数,javascript,Javascript,我有下面的代码来管理一本书 var Book = function(title,pages,priority){ this.title = title; this.pages = pages; this.priority = priority; this.GetMaxmimumDays=function(){ var effortCalculator = new EffortCalculator(this.pages); retu
var Book = function(title,pages,priority){
this.title = title;
this.pages = pages;
this.priority = priority;
this.GetMaxmimumDays=function(){
var effortCalculator = new EffortCalculator(this.pages);
return effortCalculator.CalculateDays();
}
};
var BooksCollection = (function(){
var books=[];
return {
Add:function(book){
books.push(book);
},
Remove:function(title){
for(var i=0;i<books.length;i++){
if(books[i]["title"]==title){
books[i]["title"]=null;
}
}
},
Print:function(){
for(var i=0;i<books.length;i++){
var itemText="";
for(item in books[i]){
itemText=itemText+""+item+":"+books[i][item];
}
alert("item"+itemText); /** itemText prints the string includes the function definition. **/
}
},
Count:books.length,
SortByPriority:function(){
}
};
})();
var Book=函数(标题、页面、优先级){
this.title=标题;
this.pages=页面;
优先权=优先权;
this.GetMaxmimumDays=函数(){
var effortCalculator=新的effortCalculator(this.pages);
return effortCalculator.CalculateDays();
}
};
var BooksCollection=(函数(){
var账簿=[];
返回{
附加:功能(书本){
书。推(书);
},
删除:功能(标题){
对于(var i=0;i在您的情况下,typeof item
将始终是一个字符串
——它是被枚举的书籍
属性的键
您要测试的是该项目的值,因此您需要typeofbooks[i][item]
:
for(item in books[i]){
if(typeof books[i][item] != 'function'){
itemText=itemText+""+item+":"+books[i][item]+ '\r\n';
}
}
活生生的例子:您是否尝试过typeof item==“function”
,小写f
?typeof
对我来说很好:
for(item in books[i]){
if(typeof books[i][item] != 'function'){
itemText=itemText+""+item+":"+books[i][item]+ '\r\n';
}
}