//函数参数类型与返回值方法:
//函数传递参数,包含数字,字符串,数组,多余值处理
function test(num,str,arrs,...el){ return arrays = [ //函数返回值,且是多返回值 num,//语法糖引用 str, ...arrs,//数组数据打开处理 ...el, ] } console.log(test(1,'dlciug',['666',222,'叫我孙大树'],8888,'sakdufhygi'))
运行结果见下图:
//实例演示模板字面量与模板函数的声明,参数特点
//模板自变量
let teacher = { name:'老师', age : 17, hometown: '内蒙古' } //声明一个对象用于保存数据 let MuBanString = `我是${teacher.name},我今年${teacher.age}岁,我来自${teacher.hometown},${teacher.age >= 18?`我已经成年了`:`我的老板明知我是童工还要压榨我···`}` console.log(MuBanString)//用模板方法显示值
//模板函数
function MuBanFunc(str,...arg){ console.log(str,arg) } MuBanFunc `我是${teacher.name},我今年${teacher.age}岁,我来自${teacher.hometown},${teacher.age >= 18?`我已经成年了`:`我的老板明知我是童工还要压榨我···`}`
以上代码运行结果如下:
//经测试,模板函数必须使用源模板代码,不能使用变量代替。
// 例:MuBanFunc MuBanString 报错
//实例演示闭包的形成条件与访问方法,并明白纯函数的特点
//闭包形成条件:1:函数形成父子关系;2:子类调用父类参数
function closure(a){ return function (b){ return a+b } } let a = closure(85) console.log(a(6))
//纯函数特点
//以下为非纯函数:
let c = 666 function NotPureFunc(){ return c } console.log(NotPureFunc())//NotPureFunc函数依赖外部c变量。随着外部c变量的改变将会使该函数内部运行发生严重变化
//以下为纯函数
let d = 888 function PureFunc(a){ return a } console.log(PureFunc(d)) console.log(PureFunc(c))//PureFunc函数仅依赖自身要求的变量a。因此外部的数据变化将不会直接对函数内部造成影响
以上代码运行结果如下: