1.函数基础与种类
1.1 代码设计规则
- 高内聚、低耦合
- 模块的单一责任制
- 尽量使代码块与代码块之间相互独立
- 模块的单一责任制
-
1.2 函数
语法格式
函数声明方法
/*1.用 function 关键字声明一个名为 test 的函数*/function test(参数){//执行语句;}/*2.用表达式 字面量*/var test = function test1(){ //test1()只在函数内部可用var a = 1,b = 2;console.log(a,b);}var test = function (){//不起名字时,称为匿名函数,也叫函数字面量var a = 1,b = 2;console.log(a,b);}
命名规则
- 不能以数字开头
- 可以以字母 _ $ 开头
- 可以包含数字
- 小驼峰命名法
参数
形参和实参
/*1.分辨实参和形参*/var num1 = Number(window.prompt('a'));var num2 = Number(window.prompt('b'));function test(num1,num2){//形式参数console.log(num1 + num2);}test(num1,num2);//实际参数/*2.实参求和*/function sum(){var a = 0;for(var i = 0; i < arguments.length; i++){a += arguments.[i];}console.log(a);}sum(1, 2, 3, 4, 5, 6);/*3.更改实参的值*/function test(a, b){a = 3;console.log(arguments[0]);//3 在函数内部可以更改实参的值}test(1, 2);/*4.更改未赋值的实参的值*/function test(a, b){b = 3;console.log(arguments[1]);//undefined 无法给未赋值的实参赋值}test(1);
特征
- 形参和实参的数量可以不相等
- 函数内部知道传入了实参的数量和值,以及形参的数量
- 形参必须在调用函数时赋予实参的值后,在函数内部才能再次更改形参的值;如果未传入实参的值,在函数内部无法针对该形参更改值。
- return
- 返回数据
- 中止函数执行
- 变量作用域
- 全局变量 & 局部变量(暂时理解)
- 函数外部定义的变量,函数内部可以用
- 函数内部定义的变量,函数外部不可以用
- 全局变量 & 局部变量(暂时理解)
- 总结:
- 函数是一个固定的功能或程序段被封装的过程,实现一个固定的功能或者是程序,在这个封装体中需要一个入口和一个出口,入口就是参数,出口就是返回
- 作业:
- 定义一个函数,从wp接受一个饮料的名称,函数返回对应的价格
- 定义一个函数,从wp接受第一个数,接受一个运算符号(+ - & / %),接受第二个数,利用函数做运算,返回运算结果
- 定义一个函数,从wp接受一个n,算出n的阶乘,不能用for
- 定义一个函数,从wp接受一个n,算出斐波那契数列的第n位,不能用for循环
