JS中的函数运用
js中的预编译
1.当声明了一个变量,没有给它赋值,此时它的值为undefiend.
2.如果一个函数没有返回值,那么它默认的返回值是undefined。
变量的提升
1.普通的var变量,肯定提升。
2.循环内部中的var变量,也会提升。
3.在函数中的var变量,也是可以提升的。
函数提升
函数在JS中,主要分两类:一类是函数声明 ,另一类是函数表达式。
1.函数声明的提升
2.函数表达式不提升
传递参数
1.基本数据类型的参数传递
2.引用数据类型的参数传递
函数的返回
###声明一个函数,这个函数的功能是求两个数的平均值
function f(m,n){
var avg = (m+n)/2;
return avg;
}
console.log(f(7,9))
复制代码
###声明一个函数,这个函数的功能是求两个数的最大值,最小值,平均值
function f(m,n){
var max = m>n ? m:n;
var min = m<n ? m:n;
var avg = (m+n)/2;
return max,avg,min;
}
console.log(f(10,2))
return 语句只能返回一个值,不能返回多值,返回最后一个值min。
复制代码
函数是另一个函数
var add = function(x,y){
return x+y;
}
var sub = function(x,y){
return x-y;
}
function compute(f,a,b){
return f(a,b)
}
console.log(compute(add,1,2))
console.log(compute(sub,1,2))
function compute(f,a,b){
return f(a,b)
}
复制代码
异步
在JS中,由于JS是单线程,就是意味着,同一时刻,JS这个单 线程,只能处理一个任务,有些任务是非常耗时,如:去服务器要数据,读文件。
在JS中异步的解决方案发展流程如下:
1.回调函数
2.Promise
3.generator+co
4.anync+await复制代码