JavaScript return的作用
学习JavaScript的过程,我相信很多人都有这个疑惑 ,return是什么,只知道他是一个返回,但是他能返回什么,他有用什么作用呢 ,至此我看了很多博客,也搜集了很多资料,如果有错误,请帮忙更正
return:
第一返回函数值:
返回函数中的值,外部调用函数时,则会调用这个值。闭包中就是运用这个属性,调用函数内部的局部变量,以不影响全局变量。
下面来看一个例子吧:
当执行的时候,函数fn()执行了,页面会输出5,但是console出来的却是一个undefined,无论你在fn()函数中写任何东西,变量获取弹出的都是undefined,
如果你需要他能够赋值给变量,这时候就需要用到return,
X变量得到的就是10;
任何数据都能够被return
我们来return一个函数试试
var x=fn();
console.log(x);
function fn() {
var output=10;
document.write(output);
return function () {
alert(1);
}
}
猜猜这时候变量x会得到什么 ,
因为 return返回的是
function () {
alert(1);
}
所以X得到的也是函数体
如何得到函数里面的内容,
那就得给x加个括号让他执行,
X();
var x=fn();
x();
console.log(x);
function fn() {
var output=10;
document.write(output);
return function () {
alert(1);
}
}
当然如果没有赋值变量,我们也可以直接
fn()();
让他进行两次执行,执行的春旭会先执行第一个fn()函数,在执行fn函数里面的第二个函数..
fn()();
function fn() {
var output=10;
document.write(output);
return function () {
alert(1);
}
}
得到的结果也是同样的..
我们再来举一个例子.
var y=sum(7,8,2,7,2,1,5);
document.write(y);
function sum() {
var x=0;
for (var i=0; i<arguments.length; i++) // 获取被传递参数的数值。
{
x+=arguments[i];
}
return x
}
一个简单的参数加法运算, 如果你想取得函数内部的值,并将它赋予新的变量,那可以通过return在外部访问到内部的值.
第二当函数执行到return,函数后面将不会在执行后面的代码
alert( person(15));
function person(age) {
if (age<="16")
{
return age+ "你还年轻";
}
else {
return age +"你老了";
}
alert("这里的代码讲不会执行");
这里的return有点像break,作用都有截断后面代码的作用,但是return的功能却不知是截断代码.
在js中return false的作用一般是用来取消默认动作的。比如你单击一个链接除了触发你的
onclick时间(如果你指定的话)以外还要触发一个默认事件就是执行页面的跳转。所以如果
你想取消对象的默认动作就可以return false。
<body onselectstart="return false">
</body> //这里的onselectstar 实际是一个时间,设置return false 禁止里面的文字图片被选中
$("a.toggle").click(function () {
$("#mydiv").toggle();
return false; // Prevent browser from visiting `#`
}); //这个函数使用toggle来显示或者隐藏#mydiv,然后阻止浏览器继续访问href中指定的链接。