函数初级


一 概念
#### 1、函数的定义 - ES5 ```js function 函数名 (参数列表) { 函数体; } var 函数名 = function (参数列表) { 函数体; } ``` - ES6 ```js let 函数名 = (参数列表) => { 函数体; } ``` - 匿名函数 ```js (function (参数列表) { 函数体; }) // 匿名函数需要自调用 (function (参数列表) { 函数体; })(参数列表); ``` #### 2、函数的调用 - 函数名(参数列表) #### 3、函数的参数 - 个数不需要统一 ```js function fn (a, b, c) { console.log(a, b, c); // 100 undefined undefined } fn(100); function fn (a) { console.log(a) // 100 } fn(100, 200, 300) // 200,300被丢弃 ``` - 可以任意位置具有默认值 ```js function fn (a, b=20, c, d=40) { console.log(a, b, c, d); // 100 200 300 40 } fn(100, 200, 300); ``` - 通过...语法接收多个值 ```js function fn (a, ...b) { console.log(a, b); // 100 [200 300] } fn(100, 200, 300); // ...变量必须出现在参数列表最后 ``` #### 4、返回值 ```js function fn () { return 返回值; } // 1.可以空return操作,用来结束函数 // 2.返回值可以为任意js类型数据 // 3.函数最多只能拥有一个返回值 ```

二 代码示范

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>函数初级</title>
</head>
<body>
函数初级
</body>
<script type="text/javascript">
// 0.函数的调用
// 函数名(参数列表)

// 1.ES5函数定义
function fn1() {
console.log("fn1 函数");
}
fn1();

var fn2 = function () {
console.log("fn2 函数");
}
fn2();

// 2.ES6函数定义
let fn3 = () => {
console.log("fn3 函数");
}
fn3();


// 3.匿名函数
// (function () {
// console.log("匿名函数");
// })

// 匿名函数定义后,无法使用,所以只能在定义阶段自调用
let d = "匿名";
(function (t) {
console.log(t + "函数");
})(d);

</script>

<script type="text/javascript">
// 函数的参数
// 注:js参数都是位置参数

// 参数不统一
function fun1 (a, b, c) {
console.log(a, b, c); // 100 undefined undefined
}
fun1(100);


function fun2 (a) {
console.log(a); // 100
}
fun2(100, 200, 300); // 200,300被丢弃

// 默认值参数
function fun3 (a, b=20, c, d=40) {
console.log(a, b, c, d); // 100 200 300 40
}
fun3(100, 200, 300);


// 不定长参数
function fun4 (a, ...b) {
console.log(a, b); // 100 [200 300]
}
fun4(100, 200, 300);
// ...变量必须出现在参数列表最后

</script>

<script type="text/javascript">
// 返回值
// 1.空返回
var func1 = function (num) {
if (num == 0) return; // 用来结束函数
console.log('num: ', num);
}
func1(100);

// 2.返回值类型任意,但只能为一个值
var func2 = function (a, b) {
// return a, b, a + b; // 不报错,但只返回最后一个值
return a + b;
}
// 注:函数返回值就是函数的值,外界可以用变量结束函数执行后的函数值
var res = func2(10, 20);
console.log("和:%d", res);

</script>

</html>



posted @ 2018-10-12 17:23  不沉之月  阅读(181)  评论(0编辑  收藏  举报