函数参数类型与返回值
1.语法:
function 函数(参数){
return 返回值;
}
2.当参数不足时,需要设置默认参数
function user(name = "新手1314"){
return "Hello, " + name;
}
console.log(user());
3.当参数过多时,将参数设置为数组,把多余参数放入这个数组。
function user(name,...arr){
console.log(name);
return arr;
}
console.log(user('新手1314','第二个参数','第三个参数'));
4.返回值
4.1,函数返回值一般都是单值返回,如需多值返回需把返回值放入数组或对象中
4.2:数组多值返回:
function ceshi() {
return [1, 2, 3];
}
console.log(ceshi());
//简化版本
let ceshi = () => [1, 2, 3];
console.log(ceshi());
4.3:对象多值返回:
function duixiang() {
return {
name: "新手1314",
password: "123456",
f: function () {
return "消息";
},
};
}
//简化
let duixiang = () => ({
name: "新手1314",
password: "123456",
f: function () {
return "消息";
},
});
console.log(duixiang());
模板字面量与模板函数的声明
1.模板字面量:一种能够嵌入表达式的格式化字符串;
2.模板字符串:一个字符串中,存在”占位符”,称为模板字符串。(占位符:插值/表达式/变量),需要用反引号声明模板字符串。
<script>
let username = "新手1314";
console.log(`Hello,${username}`);
console.log(`10 + 30 = ${10 + 30}`);
let age = 17;
console.log(`${age >= 18 ? `成年` : `未成年`}`);
</script>
3.模板函数:使用’模板字面量’作为参数的函数
alert`模板函数的声明`;
4.模板函数和普通函数是一样的,只不过调用时,使用’模板字面量’作为参数
let a = "新手1314";
let b = "10";
let c = "500";
function ceshi(name, ...arr) {
console.log(name);
console.log(arr);
}
ceshi(`名称:${a};年龄:${b};工资:${c}`);
ceshi`名称:${a};年龄:${b};工资:${c}`;
闭包的形成条件与访问方法与纯函数
1.闭包的形成条件:(1):父子函数; (2):子函数中调用父函数的变量
let f2 = function (b) {
let f3 = function (c) {
return a + b + c;
};
return f3;
};
return f2;
}
console.log(f(10)(20)(30));
//另一种方式
let fn = function (a) {
return function (b) {
return function (c) {
return a + b + c;
};
};
};
console.log(fn(10)(20)(30));
//简化
let fn = a => b => c => a + b + c;
console.log(fn(10)(20)(30));
2.纯函数:不会用到自由变量
let chun = 10;
let item = function (a, b) {
return a * b;
};
console.log(item(10, chun));