4 回答

TA貢獻1982條經(jīng)驗 獲得超2個贊
目的是在field中尋找value屬性,如果value屬性為null或者""則alert,否則返回true。關于with的用法參考其他答案中的連接。由于with會混淆作用域,所以一般不推薦使用。
其實這里不是用with可以這么寫:
function validate_required(field, alerttxt) {
field || (field = {});
if(field.value==null || field.value=='') {
alert(alerttxt);
} else {
return true;
}
}

TA貢獻1829條經(jīng)驗 獲得超13個贊
with語句的作用是延長作用域鏈,在作用域鏈上添加一個臨時的變量對象,就可以直接使用這個臨時變量對象上的屬性了,比如你的代碼中,就是將field添到了作用域鏈上
with(field){
if(value==null||value==""){
//這個value其實是field的屬性,卻不需要field.value,直接寫value就可以使用
//跟你直接用document.getElementById(),而不需要window.document.getElementById()是一個道理
//document就是window對象的屬性,而window對象在作用域鏈的最頂端
}
}
添加回答
舉報