创建函数
1、
var 函数名 = function () {
函数体;
}
函数名();
例:var funntio = function () {
console.log('你好');
}
funntio();
2、
function 函数名 () {
函数体;
}
函数名();
例:function fnuene () {
console.log('你好');
}
fnuene();
3、
var 函数名 = () => {
函数体;
}
函数名();
例:var fever = () => {
console.log('你好');
}
fever();
4、
var 函数名 = new Funcction (`函数体`);
函数名();
例:var fnnfhtg = new Function (`console.log('你好');`);
fnnfhtg();
函数的作用域(变量能用的范围)问题
函数中变量的使用,能在函数中找得到,不会在外边找
取变量:就近原则
全局:
1、定义在外边(var/let/const),分支循环代码块里(var),在函数中可以使用
局部:
1、在函数中定义变量,只能在函数中使用
全局作用域:
1、不能用name定义为变量,因为是关键字
块级作用域
1、let/const 定义在代码块中
例:
fnumdio();
function fnumdio () {
let str = 'hello';
console.log(str);
}
fnumdio1();
function fnumdio1 () {
var num = 'hello';
console.log(num);
}
参数:一个函数中动态的数据,可以做为参数转入
形参(接收的变量)
实参 (传递的数据)
参数的特性:
1、局部作用域
2、传递和接收一一对齐
3、没有传递数据时,形参默认值是undefined
4、可以修改默认值,在形参后直接赋值
例:
// accber = 'admin'
// password = 'admin123'
number('admin' ,'admin123')
function number(accber = 'admin', password = 'admin123') { //修改默认值,在形参后面直接赋值
if (accber == 'admin' && password == 'admin123') {
console.log('登入成功')
} else {
console.log('登入失败')
}
}
返回值:执行函数之后拿到的数据
retarn 数据;
1、一个函数只能执行一个retarn
2、retarn会终止整个函数
3、要返回多个数据,封装到对象中返回
4、把数据封装到对象时,如果键值对的名一样,可以{ key,...}
例:
str(10 , 20 , 'jieka' , 18);
function str (num1 , num2, name , age) {
let str1 = num1 + num2;
console.log(str1 +' '+ name +' '+ age);
return {
name : 'jieka',
age : 18
}
}