<script>
// 定义函数的几种方式
function functionName(arg1, arg2) {
// 函数体
}
// 这是最常见的函数定义方式,可以在任何地方被调用,因为它们会被提升到当前作用域的顶部。
var functionName = function(arg1, arg2) {
// 函数体
};
// 函数表达式创建了一个函数对象,并可以赋值给变量。如果省略了函数名,就创建了一个匿名函数,可以作为值传递或用作回调。
// 箭头函数
// 参数列表
// 箭头
// 函数体
var functionName = (arg1, arg2) => {
// 多行函数体
};
// 如果只有一个参数,括号可以省略
var singleArgFunction = arg => arg * arg;
// 如果函数体只有一条返回语句,可以更简洁
var conciseFunction = (arg1, arg2) => arg1 + arg2;
// 箭头函数是ES6引入的新特性,语法更简洁,且没有自己的this,它会捕获其所在(即定义时所在的)上下文的this值。
// 简写箭头函数 当函数体只有一条返回语句,且不需要其他语句时,可以进一步简化:
var double = x => x * 2;
// 等同于
// var double=(x)=>{
// x*2
// }
// 和function(x) { return x * 2; }。
// 立即执行的函数表达式 (IIFE)
// javascript
(function() {
// 函数体
})();
// 调用函数,函数名(参数)
// 例如functionName(lisi,wangwu)
// rest参数的使用
function foo(a, b, ...rest) {
console.log('a = ' + a);
console.log('b = ' + b);
console.log(rest);
}
foo(1, 2, 3, 4, 5);
// 结果:
// a = 1
// b = 2
// Array [ 3, 4, 5 ]
// 及当传入的参数过多时,多余的用...rest表示
// rest参数只能写在最后,前面用...标识,从运行结果可知,传入的参数先绑定a、b,多余的参数以数组形式交给变量rest
// 写一个长方形面积函数
const area=function(width,height){
var result=width*height;
console.log("长方形area的面积为:"+result)
}
area(3,4);
// 打印结果:长方形area的面积为:12
</script>