我想执行一个回调函数,它在对象内部迭代,每次循环jquery。
让我说我有这个对象
public Employee GetEmployee(int id)
{
return db.Employee.FirstOrDefault(n => n.Emp_Id == id);
}
var myVar = {
firstObj: {
name: 'something'
},
myFunc: function(value) {
if (value != 'me') {
return 'Name should be me';
}
return true;
}
};
//I am iterating it in this way
$.each(myVar, function(index, object) {
console.info(index, object);
});
我试图在 console.info()中看到它,但它似乎没有出现
答案 0 :(得分:2)
我编辑了您的代码段以执行对象中的功能
var myVar = {
firstObj: {
name: 'something'
},
myFunc: function(value) {
if (value != 'me') {
return 'Name should be me';
}
return true;
}
};
//I am iterating it in this way
$.each(myVar, function(index, object) {
if (typeof object == "function"){
console.log(object('me'));
console.log(object('not me'));
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 1 :(得分:0)
谢谢大家的回答。我发布的是一个示例代码。 我没有注意到一个愚蠢的事情,并在这里失去了一些观点。 下面的代码接近我一直在尝试的内容。
var myVar = {
ruleOne : {},
checkName : function(value) {
if(value != 'me') {
return 'name should be me';
}
return true;
}
};
var collect = {rules: {}};
$.each(myVar, function(index, object) {
if($.isFunction(object)) {
collect.rules[index] = object;
} else {
collect.rules[index] = {message: 'rule one message'};
}
});
$.each(collect.rules, function(index, object) {
console.info(index, object);
if($.isFunction(object)) {
return object('me');
} else {
// this function was making it go out of iteration and not printing further elements
return checkRuleOne();
}
});
function checkRuleOne() {
//some logic returning false
return false;
}