JS中return、return false、return true的区别

来源:互联网 发布:花生壳域名申请 编辑:程序博客网 时间:2024/06/09 17:40
1、三者的相同点,是相同的出口,其出口是调用该函数的地方。

如以下两个示例:

function test1(){    for (var i = 0; i < 1; i++) {        alert("1");        return false;        alert("2");    }}function testReturn(){    alert("0");    test1();//出口    alert("3");}
return的出口是test1标示的地方。因此弹出的警示框有“0”、“1”、“3”。

function testReturn(){    alert("0");    for (var i = 0; i < 1; i++) {        alert("1");        return false;        alert("2");    }    alert("3");}
2、三者的区别,返回的值不同
看下面的案例:

function showPic(whichpic) {    if (!document.getElementById("placeholder")) return true;    var source = whichpic.getAttribute("href");    var placeholder = document.getElementById("placeholder");    placeholder.setAttribute("src",source);    if (!document.getElementById("description")) return false;    if (whichpic.getAttribute("title")) {        var text = whichpic.getAttribute("title");  //没有title,则名称为空    } else {        var text = "";    }    var description = document.getElementById("description");    if (description.firstChild.nodeType == 3) {  //文本类型        description.firstChild.nodeValue = text;    }    return false;}function prepareGallery() {    if (!document.getElementsByTagName) return false;    if (!document.getElementById) return false;    if (!document.getElementById("imagegallery")) return false;    var gallery = document.getElementById("imagegallery");    var links = gallery.getElementsByTagName("a");    for ( var i=0; i < links.length; i++) {        links[i].onclick = function() {            return showPic(this);           //showPic返回的是false或者true        }        links[i].onkeypress = links[i].onclick;    }}
当return false的时候,链接不会被执行,return true的时候,链接会被执行

注意:

return showPic(this);

showPic(this);return false;
两者的区别。





0 0
原创粉丝点击