迭代器理解函数返回值与返回结果

被调用函数向调用函数返回值

一般使用return语句由被调用函数向调用函数返回值,该语句有下列用途:

1.它能立即从所在的函数中退出, 返回到调用它的程序中去。

2.返回一个值给调用它的函数

迭代器用return 作为外部函数接收源:

import console;

var iter = function(i,len){
	var func = function(a){
		console.log("you got an",a)
		a++;
		if(a > 10){
			return ; 
		}
		else {
			return a; 
			//console.log(a)
		}
	}
		return func,,i; 
}

for(v in iter(2,20)){
	console.log(v)
}

console.pause()

输出结果即给func从2到20依次输入,直到a=10的时候,判断结束,返回空值。这样就可以退出,返回执行func的iter函数内去。

在判断正常之前,一直都是else内的return函数,每次都把a返回给iter函数,作为iter的第一个参数输入。

如果用console.log的模式作为结果返回,则不会被外面的iter函数所捕获,而是直接抛出:

import console;

var iter = function(i,len){
	var func = function(a){
		console.log("you got an",a)
		a++;
		if(a > 100){
			return ; 
		}
		else {
			//return a; 
			console.log(a) //输出结果是3
		}
	}
		return func,,i; 
}

for(v in iter(2)){
	console.log(v)
}

console.pause()
时间: 2024-11-05 19:31:29

迭代器理解函数返回值与返回结果的相关文章

C++基础知识(八)---函数返回值(返回值,返回指针,返回对象,返回引用)---引用---复制构造函数(拷贝构造函数)

一.函数返回值 1.返回值: int test () { int a=1; return a; } 返回值时最简单的方式,它的操作主要在栈上,变量a在函数结束后会删除,为了返回a的值,系统会在内部建立一个临时变量保存a的值,以返回给调用该函数的表达式,调用结束后变量便不再存在.如果a是简单地数据类型也无所谓,不是很占用内存,如果a是大的自定义类型的数据,那么对a的复制将会占用比较大的内存.函数返回值是右值,不能进行运算符操作. 2.返回指针: int *test2() { int *b=new

ajax同步异步设置导致的问题及return返回值(返回ajax请求的数据)

一.ajax同步异步设置导致父子页面数据更新不一致问题. 1.在修复入宿退宿功能时,发现点击退宿.入宿按钮时.父页面数据更新了但是子页面数据要重新打开才能更新.如下图: 因为数据刷新函数如下:父页面刷新函数findRoomPeople()采用的是异步,所以,操作的数据还没更新,子页面刷新函数loadRoomInfo()就已经执行,所以获取到的数据还是之前的数据. <script> roomHandle: function () { /*刷新数据变化*/ parent.cootoo_room.f

C++ 重载运算符返回值 和 返回引用的原因

原因是: +,-,*等返回不了引用,比如+运算符,可以如下重载(为了简单,假设A 只有int x:int y) A operator+(A a,A b) {A sum;   sum.x=a.x+b.x; sum.y=a.y+b.y;   return sum; } 分析不能用引用的原因: 函数传入了两个参数a,b,并且+只能传入两个参数(c++不允许自己创造运算符),这样就限定了和sum不能作为参数传入,所以sum只能是一个函数里的临时变量,但是临时变量在函数结束时是要销毁的,那么函数调用玩,s

存储过程输出参数、返回值、返回表及C#调用

存储过程中可以定义输出变量,返回值,执行存储过程还能获得结果集.每个存储过程的默认返回值为0.下面紧接着上文 SQL Server中存储过程Stored Procedure创建及C#调用 基础上写的一个新的Stored Procedure存储过程则包含了输出参数.返回值以及select结果. USE [db] GO /****** Object: StoredProcedure [dbo].[insert_persions] Script Date: 2/25/2015 11:14:11 AM

函数深入理解---函数的值传递

函数的值传递 //由于函数是对象,所以可以直接把函数参数传递进来 function callFun(fun,arg){ //第一个参数就是函数对象 return fun(arg); } function sum(num){ return num +100; } function say(str){ console.log('hi' + str); } //var say = x; //调用了say函数 callFun(say,'leo'); //调用了sum函数 console.log(call

[蟒蛇菜谱] Python调用shell命令,获取返回值和返回信息

# -*- coding: utf-8 -*- import os import subprocess import signal class MockLogger(object): '''模拟日志类.方便单元测试.''' def __init__(self): self.info = self.error = self.critical = self.debug def debug(self, msg): print "__LOGGER__:"+msg class Shell(obj

c# 多播委托的 异常处理 如果有返回值 只返回最后一个返回值

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Func<string> f0 = f1; f0 += f12; f0 += f2; f0 += f3

Swift2.0语言教程之函数的返回值与函数类型

Swift2.0语言教程之函数的返回值与函数类型 Swift2.0中函数的返回值 根据是否具有返回值,函数可以分为无返回值函数和有返回值函数.以下将会对这两种函数类型进行讲解. Swift2.0中具有一个返回值的函数 开发者希望在函数中返回某一数据类型的值,必须要在函数声明定义时为函数设定一个返回的数据类型,并使用return语句进行返回.其中,return语句的一般表示形式如下: return 表达式 其中,表达式可以是符合Swift标准的任意表达式.而具有返回值的函数声明定义形式如下: fu

函数定义,返回值,传参,命名空间,闭包

函数的返回值: return是返回给函数的调用者 函数外面的代码想要获取函数的执行结果,就可以在函数里,用return语句把结果返回. 注意:在函数的执行过程中主要遇到return语句,就会停止执行并返回结果, so可以理解为return语句代表着函数的结束 如果未在函数中指定return,那这个函数的返回值为none 函数的返回值,可以返回一个函数名(可以将嵌套函数里的执行结果return给函数体外,进行执行) return永远且只能返回一个值,,如果返回多各值呢? def func1(nam