一个关于JS confirm 确认框的问题

<scripttype="text/javascript">vartxt=""functionmessage(){try{adddlert("Welcomeguest!"... <script type="text/javascript">
var txt=""
function message()
{
try
{
adddlert("Welcome guest!")
}
catch(err)
{
txt="本页中存在错误。\n\n"
txt+="点击“确定”继续查看本页,\n"
txt+="点击“取消”返回首页。\n\n"
if(!confirm(txt))
{
document.location.href="/index.html"
}
}
}
</script>

解释下 if(!confirm(txt))这个,然后和下面对比下,我明白下面这个

function show_confirm()
{
var r=confirm("Press a button!");
if (r==true)
{
alert("You pressed OK!");
}
else
{
alert("You pressed Cancel!");
}
}
展开
 我来答
syht2000
高粉答主

2012-11-13 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
二者其实是差不多的,上面的if(!confirm(txt))实际相当于
var r=confirm("本页中存在错误。\n\n"+"点击“确定”继续查看本页,\n"+"点击“取消”返回首页。\n\n");
if (r==false)

!是取反,也就是表示当confirm点的是取消的时候,if就会判定为成立。
缓步莫迟疑C
2012-11-13 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6217
采纳率:73%
帮助的人:6512万
展开全部
先说你二段代码,变量r的值本身就是布尔值,而if语句的条件也需要一个布尔值,所以只要if(r)就可以了,你的if(r==true)实际相当于if(true==true),表达式返回的还是true,多此一举了.
再来说confirm方法,该方法返回一个布尔值,!是逻辑非运算符,如果confirm()返回true,那么!confirm()表达式的结果就是!true,也就是false,返过来,如果confirm()返回false,那么!confirm()结果就是true,这个表达式的结果可直接用于if语句的条件,不需要再与常量true或false对比.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bjlipeng0909
2012-11-13 · TA获得超过399个赞
知道小有建树答主
回答量:291
采纳率:0%
帮助的人:238万
展开全部
if(!confirm(txt)) 就是说if(confirm(txt)) 为假,也就是点的取消
if(confirm(txt)) 和if(confirm(txt) == true) 是一样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式