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循环