学习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中指定的链接。