我正在尝试编写一个简单的函数来验证输入,但我无法访问父对象函数。
我认为问题在于我需要一个闭包,但由于我对 js 很陌生,而且我很难理解闭包,我想也许在我的代码中看到它在运行中可能会有所帮助,如果这确实是问题。
function validate(value, validator){
if(validator == 'login_cred'){
testName(value);
}
var test = {
minLength: function (val, length) {
return val.length >= length;
}
}
function testName(value){
if(!test.minLength(value, 5)){
console.log('more chars please...');
}
}
}
//call
validate("str", 'login_cred');
当我调用该函数时,我得到test is undefined错误。
这是需要闭包的情况吗?..如果是这样,闭包在上面的代码中如何工作得最好?