关于return functionn函数return的问题

已解决问题
关于函数内for循环内return的用法有哪些?
关于函数内for循环内return的用法用于判断是否为关联数组的函数,如下:function isAssocArray($array) {
//是否为数组
if(!is_array($array)){
//处理键名
$keys = array_keys($array);
$tries = count($keys);
if($tries & 4){
$tries = 4;
for($i=0; $i&$ $i++) { //根据键名是否是数字
if(!is_int($keys[$i])){
}return在for循环内,那么return的值是返回给哪个,手册上说return用在函数内会返回给函数值并结束函数,那么循环第一次假设return true,这个true返给了谁,若是返给了函数,那for也就只能执行一次循环了,不懂这个不知道谁能看的懂我说的并解答,初学来着,望有人看的懂
浏览次数:1771
用手机阿里扫一扫
最满意答案
return&将值返回,你可以用一个变量接收!$value&=&isAssocArray($arr);&//$value得到函数返回值!返了就是就函数下面的代码不执行了,当然for&也不执行了!函数执行完成回到函数调用处function&return_value(){echo&'a';retrun&'a';&&//retrun&后函数回到调用处,函数内retrun&下面的代码不执行echo&'b';}
答案创立者
以企业身份回答&
正在进行的活动
生意经不允许发广告,违者直接删除
复制问题或回答,一经发现,拉黑7天
快速解决你的电商难题
店铺优化排查提升2倍流量
擅长&nbsp 店铺优化
您可能有同感的问题
扫一扫用手机阿里看生意经
问题排行榜
当前问题的答案已经被保护,只有知县(三级)以上的用户可以编辑!写下您的建议,管理员会及时与您联络!
server is ok  今天在群里看到一个问题,让我纠结了好一会。下面是我的分析,感觉里面还有很多问题,关于作用域还是不太理解,希望大家看到问题第一时间反馈给我,看到实在受不了的地方说几句都没关系,谢谢。
  请看题:
1.对象字面量中fn1函数是立即执行的函数表达式。
$(function(){
var number = 2;
var obj = {
number: 4,
fn1: (function(){
this.number *= 2;
number = number*2;
var number = 3;
return function(){
this.number *= 2;
number *= 3;
alert(number);
var f = obj.fn1;
alert(number); /* 2 */
f(); /* 9 */
obj.fn1(); /* 27 */ /* 因为是自执行的,number值是可以保存下来的 */
alert(window.number); /* NaN */           alert(obj.number); /* 8 */
  输出2, 9,27, NaN, 8。
  分析:
  首先看fn1这个函数,是立即执行的函数表达式,所以var f = obj.fn1的时候,已经访问fn1函数下的内容了。在立即执行函数表达式fn1中,this.number为NaN,因为在此访问不到自己的属性和方法(这个我也说不太清楚为什么,求解&&);number = number * 2为NaN,因为number是undefined,这是根据预解析的缘故,会先定义 number= number *2; number = 3。接下来又定义了var number = 3,在该作用域中和内部作用域中,number暂时都是为3的。在return function(){}中,因为外部立即执行的函数表达式,所以this.number是有效的(求解&&),number = number *3是根据外部作用域number值决定的。
  alert(number);输出2,因为预解析的缘故。
  f();输出9,因为外部number为3,所以3*3 = 9。
  obj.fn1();输出27,因为是立即执行函数,所有具有保存变量值的作用,number值是9,再用9*3 = 27,。
  alert(window.number);输出NaN,因为是在加载后输出,要让window.number有效,只能在局部作用域内才可以。
  alert(obj.number);输出8,因为fn1中this.number失效,return function()中this.number有用,所以只执行return 函数中的this.number *= 2。
2.对象字面量中fn1函数不是立即执行的函数表达式。
$(function(){
var number = 2;
var obj = {
number: 4,
fn1: function(){
this.number *= 2;
number = number*2;
var number = 3;
return function(){
this.number *= 2;
number *= 3;
alert(number);
var f = obj.fn1();
alert(number); /* 2 */
f(); /* 9 */
obj.fn1()(); /* 9 */ /* 这个和上面作用域不一样了,因为不是表达式,不是立即执行的,在新的作用域又全都是新的 */
alert(window.number); /* NaN */
alert(obj.number); /* 16 */
  输出2, 9, 9, NaN,16。
  分析:
  首先看fn1这个函数,它是一个函数引用(需调用才会执行),所以var f = obj.fn1()(后面需接括号)的时候,已经访问fn1函数下的内容了。在立即执行函数表达式fn1中,this.number为有效的,在一般函数可以访问到自己的属性和方法;number = number * 2为NaN,因为number是undefined,这是根据预解析的缘故,会先定义 number= number *2; number = 3。接下来又定义了var number = 3。在return function(){}中,因为外部函数为一般函数,所以this.number是无效的(求解&&),number = number *3是根据外部作用域number值决定的。
  alert(number);输出2,因为预解析的缘故。
  f();输出9,因为外部number为3,所以3*3 = 9。
  obj.fn1()();输出9,因为它和f()不在同一作用域中,它调用了fn1()初始化number = 3,后面再输出一个obj.fn1()()还是为9。
  alert(window.number);输出NaN,因为是在加载后输出,要让window.number有效,只能在局部作用域内才可以。
  alert(obj.number);输出16,因为fn1中this.number有用,return function()中this.number失效,所以只执行fn1函数中的this.number *= 2。
阅读(...) 评论()nodejs的回调函数里为什么需要return? - 知乎71被浏览<strong class="NumberBoard-itemValue" title="分享邀请回答function dosomething(param) {
func1(param, function(err, data) {
console.log(err)
func2(data, function(err, result) {
console.log(err)
func3(data, function(err, result) {
console.log(err)
console.log(result)
改造成return是这样:function dosomething(param) {
func1(param, function(err, data) {
return console.log(err)
func2(data, function(err, result) {
return console.log(err)
func3(data, function(err, result) {
return console.log(err)
console.log(result)
228 条评论分享收藏感谢收起12添加评论分享收藏感谢收起没有更多推荐了,
不良信息举报
举报内容:
function 函数传参,不定参,return返回值
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!JavaScript 函数
JavaScript 函数
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
&!DOCTYPE html&
function myFunction()
alert(&Hello World!&);
&button onclick=&myFunction()&&点击这里&/button&
JavaScript 函数语法
函数就是包裹在花括号中的代码块,前面使用了关键词 function:
function functionname()
这里是要执行的代码
当调用该函数时,会执行函数内的代码。
可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。
提示:JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。
调用带参数的函数
在调用函数时,您可以向其传递值,这些值被称为参数。
这些参数可以在函数中使用。
您可以发送任意多的参数,由逗号 (,) 分隔:
myFunction(argument1,argument2)
当您声明函数时,请把参数作为变量来声明:
function myFunction(var1,var2)
这里是要执行的代码
变量和参数必须以一致的顺序出现。第一个变量就是第一个被传递的参数的给定的值,以此类推。
&button onclick=&myFunction('Bill Gates','CEO')&&点击这里&/button&
function myFunction(name,job)
alert(&Welcome & + name + &, the & + job);
上面的函数会当按钮被点击时提示 &Welcome Bill Gates, the CEO&。
函数很灵活,您可以使用不同的参数来调用该函数,这样就会给出不同的消息:
&button onclick=&myFunction('Harry Potter','Wizard')&&点击这里&/button&
&button onclick=&myFunction('Bob','Builder')&&点击这里&/button&
根据您点击的不同的按钮,上面的例子会提示 &Welcome Harry Potter, the Wizard& 或 &Welcome Bob, the Builder&。
带有返回值的函数
有时,我们会希望函数将值返回调用它的地方。
通过使用 return 语句就可以实现。
在使用 return 语句时,函数会停止执行,并返回指定的值。
function myFunction()
上面的函数会返回值 5。
注释:整个 JavaScript 并不会停止执行,仅仅是函数。JavaScript 将继续执行代码,从调用函数的地方。
函数调用将被返回值取代:
var myVar=myFunction();
myVar 变量的值是 5,也就是函数 &myFunction()& 所返回的值。
即使不把它保存为变量,您也可以使用返回值:
document.getElementById(&demo&).innerHTML=myFunction();
&demo& 元素的 innerHTML 将成为 5,也就是函数 &myFunction()& 所返回的值。
您可以使返回值基于传递到函数中的参数:
计算两个数字的乘积,并返回结果:
function myFunction(a,b)
return a*b;
document.getElementById(&demo&).innerHTML=myFunction(4,3);
&demo& 元素的 innerHTML 将是:
在您仅仅希望退出函数时 ,也可使用 return 语句。返回值是可选的:
function myFunction(a,b)
如果 a 大于 b,则上面的代码将退出函数,并不会计算 a 和 b 的总和。
局部 JavaScript 变量
在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。
您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。
只要函数运行完毕,本地变量就会被删除。
全局 JavaScript 变量
在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。
JavaScript 变量的生存期
JavaScript 变量的生命期从它们被声明的时间开始。
局部变量会在函数运行以后被删除。
全局变量会在页面关闭后被删除。
向未声明的 JavaScript 变量来分配值
如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。
这条语句:
carname=&Volvo&;
将声明一个全局变量 carname,即使它在函数内执行。
如需更多有关 JavaScript 函数的知识,请阅读 JavaScript 高级教程中的相关内容:
本节讲解函数的概念,ECMAScript 如何声明并调用函数,以及函数如何返回值。
本节介绍了此对象的基本用法,然后讲解了如何使用 length 属性来测定函数的参数数目,以及模拟函数重载。
本节讲解了如何使用 Function 类创建函数,然后介绍了 Function 对象的属性和方法。
本节讲解了闭包(closure)的概念,并分别为您展示了简单和稍复杂的两个闭包实例。}

我要回帖

更多关于 php function return 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信