请教javascript中||与&&的区别

&&不是说两边都为TRUE时,结果才是真吗?T.T-->TT.F-->FF.T-->FF.F-->Fif(form1.elements[3].value.indexOf(... && 不是说两边都为TRUE时,结果才是真吗?
T.T-->T
T.F-->F
F.T-->F
F.F-->F

if (form1.elements[3].value.indexOf("@",0)==-1 &&
form1.elements[3].value.indexOf(".",0)==-1){
alert("EMAIL地址输入错误!")}
此句检测好像只要有"@"字符或"."字符就行了
要换成 if (form1.elements[3].value.indexOf("@",0)==-1 ||
form1.elements[3].value.indexOf(".",0)==-1){
alert("EMAIL地址输入错误!")
}
这样才行,怎么||不是只要有一个为F,结果就为假吗?
T.F-->T
T.T-->T
F.T-->T
F.F-->F

以上理解对吗?
谢谢!拆分成两句就行了,搞糊涂了!
if (str.indexof("@",0)==-1){alert("EMAIL地址有误")} //如果字符串中无字符串"@"则执行
if (str.indexof(".",0)==-1){alert("EMAIL地址有误")}//如果字符串中无字符串"."则执行
合并在一起
展开
 我来答
gainover
2009-03-29 · TA获得超过1690个赞
知道小有建树答主
回答量:543
采纳率:0%
帮助的人:823万
展开全部
a.indexOf("@")==-1 为真,表明 a 中不存在 @
a.indexOf(".")==-1 为真,表明 a 中不存在 .

我觉得你可能认为 a.indexOf("@")==-1 表示 a中存在 @ 。

你测试以下代码就知道了

<script type="text/javascript">
//-----------------------------------
//有 @
var str="a@com";
if(str.indexOf("@",0)==-1 && str.indexOf(".",0)==-1){
alert(" &&1 ");
}

if(str.indexOf("@",0)==-1 || str.indexOf(".",0)==-1){
alert(" ||1 ");
}
//----------------------------------
//有 .
var str="a.com";
if(str.indexOf("@",0)==-1 && str.indexOf(".",0)==-1){
alert(" &&2 ");
}

if(str.indexOf("@",0)==-1 || str.indexOf(".",0)==-1){
alert(" ||2 ");
}
//----------------------------------
//有 @ 和 .
var str="a.@com";
if(str.indexOf("@",0)==-1 && str.indexOf(".",0)==-1){
alert(" && 3");
}

if(str.indexOf("@",0)==-1 || str.indexOf(".",0)==-1){
alert(" || 3");
}
//----------------------------------
//没有 @ ,也没有 .
var str="acom";
if(str.indexOf("@",0)==-1 && str.indexOf(".",0)==-1){
alert(" && 4");
}

if(str.indexOf("@",0)==-1 || str.indexOf(".",0)==-1){
alert(" || 4");
}
</script>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式