JS 函数
function welcome(data) {
var str = "欢迎"
return str + data;
}
welcome("张三"); //调用函数,返回:欢迎张三
- function 是关键词。
- welcome 是函数的名称。
- data 是参数,多个参数以,分隔。
- { ... } 之间的代码是函数体。
- return 返回。
函数体内部的语句在执行时,一旦执行到 return,函数就执行完毕,并将结果返回。 如果没有return语句,函数执行完毕后也会返回结果,结果为undefined。
JS - 匿名函数
/*
* 返回最大值
*/
var getMax = function (val1,val2) {
var num;
if(val1 > val2){ //if 判断语句
num = val1;
}else{
num = val2;
}
return num;
};
var max = getMax(10,2); //调用函数,返回:10,并赋值给 max
function (data) { ... }是一个匿名函数,它没有函数名。 这个匿名函数赋值给了变量 getMax,通过变量 getMax 就可以调用该函数,还能将返回值再次赋值给 max。
JS - 检查函数参数
为保证程序顺利运行,需要对参数进行检查。
方式一
var getMax = function (val1,val2) {
var num;
if (typeof val1 !== 'number' || typeof val2 !== 'number') {
console.error('getMax(),错误:参数不是 Number 类型') ;
}
if(val1 > val2){ //if 判断语句
num = val1;
}else{
num = val2;
}
return num;
};
getMax("10",2)
|| 是 或 条件语句。表示 val1 不是数字类型 或 val2 不是数字类型
运行结果:
方式二
var getMax = function (val1,val2) {
var num;
if (typeof val1 !== 'number' || typeof val2 !== 'number') {
console.log("getMax(),错误:参数不是 Number 类型");
return;
}
if(val1 > val2){ //if 判断语句
num = val1;
}else{
num = val2;
}
return num;
};
getMax("10",2)
JS - 函数提升
和变量提升一个意思,函数也会提升到函数作用域的顶部,但是匿名函数就不会。
abc(); // 4
getMax(); //报错
function abc(){
var a = 1,
b = 3;
console.log(a+b);
}
var getMax = function(){
// ....
}