主题:帮忙解释一下下面这段javascript代码??
代码如下:
function checkpassword(confirm) {
var password = $('password').value;
if(!confirm && password == lastpassword) {
return;
} else {
lastpassword = password;
}
var cp = $('checkpassword');
if(password == '' || /[\'\"\\]/.test(password)) {
warning(cp, profile_passwd_illegal);
return false;
} else {
cp.style.display = 'none';
if(!confirm) {
checkpassword2(true);
}
return true;
}
}
function checkpassword2(confirm) {
var password = $('password').value;
var password2 = $('password2').value;
var cp2 = $('checkpassword2');
if(password2 != '') {
checkpassword(true);
}
if(password == '' || (confirm && password2 == '')) {
cp2.style.display = 'none';
return;
}
if(password != password2) {
warning(cp2, profile_passwd_notmatch);
} else {
cp2.style.display = 'none';
}
}
其中:if(!confirm && password == lastpassword) {
1、“!”应该是取反的意思,在这里!confirm代表什么呢?
2、&&,有的地方说这个是逻辑与,这个逻辑或怎么理解呢?相当于vbscript中的or吗?为什么有的地方又说&才是逻辑与呢? &和&&到底各自代表什么呢?
3、confirm这个变量在这里又有什么用处呢?
4、整断程序中有很多return、return true、return false、return不就是return ture吗?程序中的这几个return到底能不能省略呢?好像没有其他地方需要返回这些值呀???
麻烦高手帮忙解释一下,谢谢。
function checkpassword(confirm) {
var password = $('password').value;
if(!confirm && password == lastpassword) {
return;
} else {
lastpassword = password;
}
var cp = $('checkpassword');
if(password == '' || /[\'\"\\]/.test(password)) {
warning(cp, profile_passwd_illegal);
return false;
} else {
cp.style.display = 'none';
if(!confirm) {
checkpassword2(true);
}
return true;
}
}
function checkpassword2(confirm) {
var password = $('password').value;
var password2 = $('password2').value;
var cp2 = $('checkpassword2');
if(password2 != '') {
checkpassword(true);
}
if(password == '' || (confirm && password2 == '')) {
cp2.style.display = 'none';
return;
}
if(password != password2) {
warning(cp2, profile_passwd_notmatch);
} else {
cp2.style.display = 'none';
}
}
其中:if(!confirm && password == lastpassword) {
1、“!”应该是取反的意思,在这里!confirm代表什么呢?
2、&&,有的地方说这个是逻辑与,这个逻辑或怎么理解呢?相当于vbscript中的or吗?为什么有的地方又说&才是逻辑与呢? &和&&到底各自代表什么呢?
3、confirm这个变量在这里又有什么用处呢?
4、整断程序中有很多return、return true、return false、return不就是return ture吗?程序中的这几个return到底能不能省略呢?好像没有其他地方需要返回这些值呀???
麻烦高手帮忙解释一下,谢谢。