我是javascript的新手。如何从函数外部访问返回值的数组
var myDob=prompt('Enter the year of birth')
function calcualteMyAge(myDob)
{
var d =new Date();
var age=(d.getFullYear())-myDob;
function calculateRange(age)
{
switch(true)
{
case (age>=1 && age<= 12):
var range='Kid';
return range;
break;
case (age>=13 && age<= 19):
var range='Teenage';
return range;
break;
case (age>=20 && age<= 40):
var range='Young Adult';
return range;
break;
case (age>=41 && age<= 59):
var range='Adult';
return range;
break;
case (age>=60 && age<= 100):
var range='Seniour Adult';
return range;
break;
default :
var range='!!?';
return Range
break;
}
}
//Return an array
var ageAndRange = [age, calculateRange(age)];
return ageAndRange;
}
var arr=[];
arr=calcualteMyAge(myDob);
alert('The age is '+arr[0]);
alert('Range is '+arr[1]);
&#13;
//从外部功能访问返回值
var arr=[];
arr=calcualteMyAge(myDob);
alert('The age is '+arr[0]);
alert('Range is '+arr[1]);
这是非预期的答案
Nan
and
function Range() {[native code]}
哪里出错了??
答案 0 :(得分:1)
您无法按照自己的意愿从数组中捕获元素。
要么采用传统方式:
var arr = calcualteMyAge(myDob);
var age = arr[0];
var rang = arr[1];
或者使用ES6,您可以使用解构:
const [ age, rang ] = calcualteMyAge(myDob);