confirm()返回的是个布尔值,需要用if来判断的
function doConfirm(){
if(confirm('继续吗?')){
check1();
}
} <input type="submit" onclick="return doConfirm();">
function doConfirm(){
if(confirm('继续吗?')){
check1();
}
} <input type="submit" onclick="return doConfirm();">
一但return了 函数就结束了! 后面的代码不会执行!
var test1 = 1;
var test2 = 2;
alert(test1);
return;
alert(test2);
}
a(); //之会弹出一个框 里面显示1
那你要这样return confirm("确定继续操作吗?")?check1():'';
var test1 = 1;
var test2 = 2;
alert(test1);
return;
alert(test2);
}
a(); //之会弹出一个框 里面显示1
这个我知道,我就是不明白如果我的return confirm返回true,为什么不去执行check1,是这样的写法不对吗?
var test1 = 1;
var test2 = 2;
alert(test1);
return;
alert(test2);
}
a(); //之会弹出一个框 里面显示1
这个我知道,我就是不明白如果我的return confirm返回true,为什么不去执行check1,是这样的写法不对吗?function check1() {
alert(2);
}
/**
* 正确写法
*/
function a() {
return confirm("确定继续操作吗?")?check1():'';
}/**
* 等价于你的写法
*/
function b() {
return confirm("确定继续操作吗?");
return check1();
}
a();
b();
那你要这样return confirm("确定继续操作吗?")?check1():'';
话是这样说,那我把第一个return去掉为什么能调用check1了,把第一个return去掉,confirm默认返回true,所有能调用,我加上return,当提示的时候我点击确定,应该返回的也是true啊,为什么不能调用了?
confirm("确定继续操作吗?");
return check1();
}
你加上return 执行完 confirm("确定继续操作吗?"); 就直接返回了 function b() {
return confirm("确定继续操作吗?");
return check1(); //根本执行不到这里
}
但是如果加上条件语句 相当于这样function b() {
var flag = confirm("确定继续操作吗?");
if(flag){ //如果点了确定
return check1();
} else {
return;
}
// confirm("确定继续操作吗?")?check1():'' 是if else 的简写
}