我想执行一个回调函数,该回调函数在对象内部的每个循环时都在对象内部。
。可以说我有这个对象
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);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
我试图在 console.info()中看到它,但它似乎没有出现
我编辑了您的摘要以在对象中执行函数
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>
谢谢大家的答案。我发布的是示例代码。我没有注意到愚蠢的事情,在这里失去了一些分。以下是我一直在尝试的代码。
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;
}