1、函数:分为系统函数和自定义函数
函数(Function):有时也被称为方法
(1)创建普通函数,语法规则:
function 函数名称(){
函数体;
};
//创建普通函数
function sayHai(){
console.log('hello');
console.log('world');
console.log('javascript');
}
(2)创建带有参数的函数
function 函数名称(参数){
函数体;
}
//计算任意两个数字相加
function add(num1,num2){
res=num1+num2;
console.log(res);
}
add(1,1);
(3)带有返回值的函数
function 函数名(参数){
函数体;
return 结果;
}
//创建函数getSalary,传递两个参数(基本工资,绩效工资),计算工资
function getSalary(num1,num2){
res=num1+num2;
console.log(res);
return res;
}
var tom=getSalary(5000,800);
(4)作用域
分为全局作用域和局部作用域
全局作用域:在代码任何地方都能访问
局部(函数)作用域:只能在当前函数内访问
注意:在程序执行前,检查当前作用域下所有使用var声明的变量(var 变量名),把这些变量提到最前面,赋值仍然在原来位置
函数也会提升
函数和变量同名时,会先提升函数,再提升变量,变量会覆盖函数
(5)匿名函数
注意:这种不存在函数提升,只是变量提升,必须先创建再调用
1⃣️创建函数:
var 函数名称=function(参数列表){
函数体;
return 返回值;
}
var fun=function(num1,num2){
return num1+num2;
}
console.log(fun(1,2));
2⃣️匿名函数的自调用
目的:为了创建局部作用域,不会被外部访问
(function(){
console.log(1);
})();
两个匿名函数作为实参传入一个命名函数
function add3(num1,num2){
console.log(num1()+num2());
}
add3(
function(){return 5},
function(){return 4}
)