回 帖 发 新 帖 刷新版面

主题:帮忙解释一下下面这段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到底能不能省略呢?好像没有其他地方需要返回这些值呀???
麻烦高手帮忙解释一下,谢谢。

回复列表 (共2个回复)

沙发

1 传入的可能是个boolean量,意思可能是是否弹出警告框
 !confirm 就是取反
2 逻辑与什么意思?
  建议你看看离散数学或者组合数学或者计算机组成和数字电路,这些课前面几章我记得有讲.简单的说
 x=  A 逻辑与 B
 当A 和 B都是真,则x为真,A和B里面一个是假,x就是假.AB都是假,x也是假.

3. return可以return 很多值,比如字符数字数组对象等. 有时不需要处理返回的值,但是可能方便跳出,就只return. 
 打个比方,你在一个地方坐,然后想走,你可能会说我走了,但是不必交代你是回家还是回办公室.

板凳


同意楼上说法

我来回复

您尚未登录,请登录后再回复。点此登录或注册