正文
js函数里的return,js函数里的参数
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
javascript中return是什么意思 怎么用
return 是返回的意思, 在函数里面的意思是当前函数执行结束了.
return 之后的语句不再执行了. 返回给上一个调用它的函数或者语句.
返回值 取决于当前函数声明的返回值类型. 返回值返回给调用语句.
你没学习过基本的程序语句吧. 建议你先找本教科书 从头到尾学一下java. 再看js.
js关于递归里的return
首先看题主的代码,按照要求,去掉函数中最后一个 return
首先 调用 total(9),这时 total中 i 的值为 9, 然后执行 if 条件 i % n == 0 (9 % 1 == 0),结果为true,进入执行 sum = sum+n,然后执行 n++ (n = 2);然后执行 if 条件 n i ( 2 9),结果为 false,跳过 if, 执行下一步 total(i)
问题就出现在这里,执行第一层的时候 total 函数并没有返回值,当total 进入最后一层循环的时候,即便是返回了 sum, 因为前面的几层并没有返回,所以最后结果就会是 undefined
所以,想要最终有结果返回,即便是递归,也得保证层层有 return
JS return 用法
首先要说明的一点,JS术语前端程序,php属于后端程序 ,前端程序和后端程序要交货,必须通过“请求”操作来进行。js代码里可以通过Ajax或者表单来提交给后端的php程序。 如果你使用JQuery的话可以使用
$.get("123.php?pos="+"{'x':"+e.screenX+",'y':"+screenY+"}" )
来进行Ajax提交。因为你的函数为事件绑定的函数,所以在触发事件以外的其他地方使用时,这个函数是获取不到其参数event的。要提交到php程序的话需要把提交请求的代码放到时间的函数里面。你的函数得改为:
function getMousePos(event) {
var e = event || window.event;
$.get("123.php?pos="+"{'x':"+e.screenX+",'y':"+screenY+"}" );
return true;
}
123.php中可以使用 json_decode来对传入的pos参数进行解析即可。
另:建议不要在鼠标移动事件里绑定getMousePos这个函数,因为你稍稍移动一下鼠标,就要对php程序进行一次请求,这样会造成对后端程序服务的大量访问。
总体上来说,return一般是用在函数中的用来向解析器表达退出函数并返回调用函数空间的命令。
在JS这个专门用于web的程序设计语言来讲,其使用环境最为广泛的就是在浏览器环境下使用。W3C规定了一些供JS程序和页面代码进行交互的接口,如浏览器级别的BOM(BrowserObjectModel,浏览器对象模型)和DOM(Document Object Model,文档对象模型)。通过这些接口,JS程序就可以畅快淋漓地和页面进行开心的“交谈”和“合作”了。
在函数中,表示返回:
1)退出函数空间。
function a(){
var aa=0;
return ;
var bb=0;
}
解析:函数执行到return就返回了调用函数的空间,返回值为undefined,后面的代码将不会被执行,即var bb=0是不会被执行的。当然,这种情况下不写return也是可以的,因为没有返回任何值。
2)退出函数空间并返回函数计算结果。
function b(){
var aa=0;
aa=aa+1;
return aa;
}
解析:b函数别调用后返回了内部的变量aa经过计算过后的值,即1。此时调用函数b(),就会返回一个值1,可以使用变量赋值的形式获取函数的返回值,如cc=b(),就将b函数的计算结果赋值给了cc这个变脸;
3) 函数返回的综合使用。
//根据得分折算出用“优、良、中、差”表示的成绩
fucntion zhesuan(var defen){
if(defen60){ return "差";}
if(defen80){ return "中";}
if(defen90){ return "良";}
if(defen=100){ return "优";}
return;
var jieguo="return 使用实例";
}
解析:zhesuan函数通过传入的得分参数defen来折算出“优、良、中、差”表示的成绩。正常情况下,我们通过显示折算算法的直接代码化,需要进行多重判定才能达到效果:
60分以下为差
60至79分为中
80至89分为良
90以上为优
转换为程序代码就要分别写if …else if ....else if 代码:
if(defen60) {
zhesuanjieguo="差";
else if (defen60 defen80){
zhesuanjieguo="中";
}
else if (defen=80 defen90){
zhesuanjieguo="良";
}
else if (defen90 defen=100){
zhesuanjieguo="优";
}
这样写代码量大,编写和阅读都容易对分段搞错。
如果这样写:
if(defen60){ zhesuanjieguo= "差";}
if(defen80){ zhesuanjieguo= "中";}
if(defen90){ zhesuanjieguo= "良";}
if(defen=100){ zhesuanjieguo="优";}
上面的代码无论怎样执行,结果都是"优",就不能达到效果。
因为return具有停止执行后续代码并返回退出函数的作用,所以通过函数来进行折算就不需要作多重判定了,是不是很省事?
2. 与DOM或者DOM结合使用
例如在点击事件中:
onClick='return add_onclick()'与 onClick='add_onclick()'
JAVASCRIPT在事件中调用函数时用return返回值实际上是对window.event.returnvalue进行设置。
而该值决定了当前操作是否继续。
当返回的是true时,将继续操作。
当返回是false时,将中断操作。
而直接执行时(不用return)。将不会对window.event.returnvalue进行设置
所以会默认地继续执行操作
详细说明如下:
例如:
当在 a href="abc.htm" onclick="return add_onclick()"Open/a 中
如果函数 add_onclick() 返回 true, 那么 页面就会打开 abc.htm
否则, (返回 false), 那么页面不会跳转到 abc.htm, 只会执行你的 add_onclick() 函数里的内容. (add_onclick函数中控制页面转到 abc.htm除外
)
而 a href="abc.htm" onclick="add_onclick()"Open/a
不管 add_onclick() 返回什么值, 都会在执行完 add_onclick 后打开页面 abc.htm
js里面的return返回值是干什么的?
return是向函数返回值,并终止函数的运行
比如:
function
a(){
return
10;//这个时候,函数a的值会等于10,并且函数中下面的内容不再执行
document.write(50);//由于上面已经return了,这条代码不会执行
}
至于什么时候会用到,那看你要函数来做什么,你要他返回值就返回咯,不要他返回就不返回咯!
比如,用函数来做一个加法运算,需要他返回值,那就这样
function
a(
b,
c
)
{
return
b
+
c;
}
那么调用:
var
abc
=
a(5,
80);
这个时候,abc这个变量的值会是85
如果想直接输出结果,不要返回值那就
function
a(
b,
c
)
{
document.write(
b
+
c
);
}
这个时候调用,
var
abc
=
a(5,
80);
那么页面会输出85,但abc是没有值的
当然,js中的return不一定非得用在函数function中,有时候也可以用来阻止某些动作,
比如表单的提交,让表单的提交事件返回false,那表单就不会提交:onsubmit="return
false"
关于js函数里的return和js函数里的参数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。