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

一般使用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()