我創建了一個返回true和false的原型方法。問題是它不會返回值。我知道它達到的聲明,因爲我已經使用console.log()滿足條件但不返回值。爲什麼我的原型方法返回undefined?
我似乎無法弄清楚這一點。如果有人能幫助我,我會非常感激。下面是我的代碼
function Validation(){
this.checkRequired = function(){
$(".modifiers-group-cont").each(function(){
var select_opt_notify = $(this).find(".select-option-notify");
/*The radio buttons that are required are always going to be marked check,thats why we are only
* checking for the checkbox*/
if($(this).attr("data-is-checked") == "false" && $(this).attr("data-input-type") == "checkbox"){
select_opt_notify.show();
return false;
} else {
select_opt_notify.hide();
return "true";
}
});
}
function ModifierPost(){
(function(){
$("#add-to-cart").click(function(){
console.log(validation.constructor); //Shows undefined
if(validation.checkRequired()){
$.post("#",$("form").serialize()+ "&item_id=" + item_id);
}
});
})();
}
哪裏原型方法? 'this.methodName'與原型方法不一樣。 – skyline3000
「我創建了一個原型方法」不,你剛剛在一個對象上聲明瞭一個方法。一個原型方法會沿着'Validation.prototype.checkRequired = function(){...}'的方向進行聲明。 – zzzzBov
@zzzzBov好吧對不起,我對一個對象的原型和常規方法之間感到困惑 – json2