一,函数的返回值
使用return返回数据,是返回给调用者,方便随时用随时拿出来。
语法:return 数据——>return 20;
后面跟结果,不要换行写
作用:有退出函数的作用,return后面的代码不在执行
函数可以没有返回值,这种情况函数默认为返回值undefined。
注意:return返回值,可以返回多个值,
语法:return [x,y,z],使用数组的形式
获取任意参数的最小值
// function arrMax(){
// //第二步声明一个变量接收这个最小值,并赋值
// var max=0;
// var smell=arguments[0];
// //第三步,开始遍历,使用arguments函数代表不确定参数值,
// for(var i=0;i<arguments.length;i++){
// //第四步,条件判断,等价交换
// if(max<arguments[i]){
// max=arguments[i]
// }else if(smell>arguments[i])
// {smell=arguments[i]}
// }
// //使用返回函数,返回值
// //返回多个值;采用数组形式实现多值返回;
// return [max,smell];
二,作用域
概念:通常来说,一般代码所用的名字并不总是有效和可用的,而限定这个名字的可用性代码范围就是这个名字的作用域。
优点:能提高程序逻辑的局部性,增强程序的可靠性,减少名字冲突。
1,全局作用域,作用于所有代码执行的环境(整个script标签内部)或者一个js文件内。
2,局部作用域,作用于函数内代码执行环境,跟函数有关
3,块级作用域,由{}包括if语句,for循环
变量作用域
全局变量:在全局作用域下,变量为全局变量,都可以使用。
局部变量:变量为局部变量,函数内部变量只能给内部使用,函数外不能用,不然会报错。
块级变量:只能在块作用域访问,不能跨块访问,也不能跨函数使用,针对let声明,var可以跨块访问。
特殊情况:
1,如果函数内部或者块级内部变量没有声明,直接赋值。是当全局变量来使用,但是不推荐这样做。
2,函数内部的形参,可以看做是一个局部变量