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;
两者的区别。