❶ js函数返回值获取
里面的抄return,返回的只是里面的袭匿名函数,
即返回值作为local.setSearch...callback()这个函数的参数执行
而不是返回给最外面的searchBystationName()这个函数
实际上searchBystationName这个函数并没有返回值。。
补充:当coordinate=searchBystationName(keyword);即给coordinate赋值的时候,searchBystationName(keyword)执行完就销毁了,所以coordinate最后得到的应该是一个空值(猜测)
alert()的时候就为null或者“”或者undefined。。
不知道理解我的意思了没
❷ js中的函数返回值是什么
返回值
就是return后的东西,比如function
a(){return
true;}这样用一个变量接收a返回的值就是true,如果直接调用也可以,返回值可以不处理的,看情况的。
❸ 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)退出函数空间。
1
2
3
4
5
function a(){
var aa=0;
return ;
var bb=0;
}
解析:函数执行到return就返回了调用函数的空间,返回值为undefined,后面的代码将不会被执行,即var bb=0是不会被执行的。当然,这种情况下不写return也是可以的,因为没有返回任何值。
2)退出函数空间并返回函数计算结果。
1
2
3
4
5
function b(){
var aa=0;
aa=aa+1;
return aa;
}
解析:b函数别调用后返回了内部的变量aa经过计算过后的值,即1。此时调用函数b(),就会返回一个值1,可以使用变量赋值的形式获取函数的返回值,如cc=b(),就将b函数的计算结果赋值给了cc这个变脸;
3) 函数返回的综合使用。
1
2
3
4
5
6
7
8
9
//根据得分折算出用“优、良、中、差”表示的成绩
fucntion zhesuan(var defen){
if(defen<60){ return "差";}
if(defen<80){ return "中";}
if(defen<90){ return "良";}
if(defen<=100){ return "优";}
return;
var jieguo="return 使用实例";
}
解析:zhesuan函数通过传入的得分参数defen来折算出“优、良、中、差”表示的成绩。正常情况下,我们通过显示折算算法的直接代码化,需要进行多重判定才能达到效果:
60分以下为差
60至79分为中
80至89分为良
90以上为优
转换为程序代码就要分别写if …else if ....else if 代码:
1
2
3
4
5
6
7
8
9
10
11
if(defen<60) {
zhesuanjieguo="差";
else if (defen>60 && defen<80){
zhesuanjieguo="中";
}
else if (defen>=80 && defen<90){
zhesuanjieguo="良";
}
else if (defen>90 && defen<=100){
zhesuanjieguo="优";
}
这样写代码量大,编写和阅读都容易对分段搞错。
如果这样写:
1
2
3
4
if(defen<60){ zhesuanjieguo= "差";}
if(defen<80){ zhesuanjieguo= "中";}
if(defen<90){ 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
❹ javascript 函数 怎么返回值
使用return语句
return的内容可以是值、变量、表达式、函数~~版~(如下案例为返回一个表达式,返回的是str和权str2连接的结果)
<script>
functionh5course(){
varstr='HTML5学堂';
varstr2='原创技术文章分享';
returnstr+str2;
}
console.log(h5course());
</script>
❺ js 如何创建带返回值的函数
首先说一下带参数的函数:
这样我们就可以只用add(m,n)这个函数来运行加法,而不需要知道里面是什么情况。
❻ js里的返回值怎么获取到
1、首先,新建一个html5文件,输入初始化代码。
❼ js:一个函数怎么获得另一个函数的返回值呢
有两个函数a和b
functiona(){return1;}
functionb(){returna();}
这就是一个简单的获取,执行b()的时候,返回结果是1,即a()的返回值,但是显然上面这种写法没有多大的意义,在实际应用中,写的可能要复杂一些,同时也便捷一些。
❽ js javascript 请问 在函数里调用一个函数 怎么叫他返回一个值和 return
"叫 上面的函数直接停止运行 "你想让哪个函数停止运行?
reutrn alert(1) return false;这句要改成:alert("1"); return false;语法才是对的。
但是,从逻辑上来说,此时b(1,2)不会返回任何值,因为1!=2,b函数中的if语句不会执行。
❾ js只返回一个函数名是什么意思
首先,这个例子是为了让你理解闭包,没有实际使用价值。其次,返回b不是返回函数值,而是返回了函数定义,你可以
var
c
=
a();这个时候c就等于b了,你可以继续c();看到alert(1)
这个东西一般用在多态的处理上,根据外层的不同方法返回一个子方法以便下一步的操作。
例如function
获取一个周长算法(类型)
{
switch(类型)
case
'方':
return
function(l)
{return
4*l;}
case
'圆':
return
function(r)
{return
3.14
*
2
*
r;}
}
}
var
周长=(获取一个周长算法(方))(5);
周长得到20
❿ js 调用自己一个函数 返回值问题
ajax是异步的请求,success里的函数会在请求成功后才会执行,也就是flag只会在请求完成后才会将data.total赋值给flag。而returnflag是在确认要发起请求后就执行了。所以除非请求完成,否则就是null
不知道你的HdUtils是什么封装的,jqurey的加async: false参数,纯ajax就加asyn: false,这样试试
varsearchReportByld=function(shipreportdocId){
varflag=null;
varbuilderShipReport=newHdEzuiQueryParamsBuilder();
if(shipreportdocld!=""){
builderShipReport.setAndClause("shipreportdocId",shipreportdocId,"=","and");
}
HdUtils.ajax.post({
url:"../webresources/login/work/ShipReport/find",
data:buildershipReport.build(),
success:function(data){
flag=data.total;
},
async:false
});
returnflag;
};