不返回布尔值的函数
问题描述:
当它应该返回true或false时,isUpdatable方法返回undefined。 这是一个范围问题。当我在isUpdatable方法上进行登录时,我发现它输出true和false,但是keyup函数返回undefined。不返回布尔值的函数
$(function() {
var updatableEl = ['home', 'block', 'cat'];
inputFields.keyup(function(){
var $input = $(this);
console.log("isUpdatable= ", isUpdatable($input));
});
function isUpdatable(el){
$.each(updatableEl, function(intIndex, objValue){
//console.log(" objValue = ", el.hasClass(objValue));
return el.hasClass(objValue);
});
}
});
答
$.each
返回原始的jQuery对象(用于链接)。
它忽略其回调的返回值。
无论如何,你的代码没有意义。
您正在计算三种不同的布尔值;哪三个你想要返回?
答
找出可能有类似问题的人。
function isUpdatable(el){
for(var i=0; i< updatableEl.length; i++){
if(el.hasClass(updatableEl[i])){
return true;
}
}
}