函数的概念
- 将反复使用的功能代码,封装成一独立的模块,这个模块叫做函数
函数的定义
-
声明式定义 就是直接使用函数关键字 function 函数名(参数根据需求) { 需要执行的代码 } 进行定义(封装)的函数
-
赋值式定义 需要声明一个变量 用于储存需要封装的函数 var str = function () { 需要执行的代码 } 需要注意的是 赋值式定义的函数 不需要函数名
声明式与赋值式的区别
- 两种方式的区别在于 赋值函数只能在赋值函数的后面调用 而声明函数可以在任意位置调用
函数的调用
- 调用方式为 直接调用函数名 或者调用赋值为函数的变量 str(参数 根据需求)
函数的预解析
- 类似变量提升 就是js在运行函数之前会把 函数进行预解析 然后把 定义的函数 或者变量提升到当前模块的最前面 但是不提升赋值操作 把所有函数声明提升到当前作用域的最前面 但是不会调用函数
函数的参数
- 形参 形参就是在函数声明的时候()内 所填写的参数 可以有多个形参 多个形参之间用,隔开
- 实参 实参就是调用函数的时候需要传递给形参的参数 也就是调用函数时候()内填写的参数 实参和形参是一一对应的 数量相等时 按顺序传递或者接受
函数的参数默认值
- 就是定义函数时 在()内给形参直接赋值 那个值就是参数的默认值
- 在没有对应实参传递的时候参数等于默认值 有实参传递的时候就是传递的实参的值
例
- 书写一个函数, 求任意两个数字的和, 把结果打印在控制台
- function su(a, b) { var sum = a + b; console.log(sum); } su(5, 6)
- 书写一个函数, 求任意两个数字的和, 把结果输出在页面上
- function su(a, b) { var sum = a + b; document.write(sum); } su(5, 6)
- 书写一个函数, 求任意两个数字的和, 把结果以弹窗的形式展示
- function su(a, b) { var sum = a + b; alert(sum); } su(5, 6)
函数的返回值
- 所有函数都有返回值 默认值为 undefined 函数执行的时候 可以在需要的位置 或者合适的条件下返回一些我们所需要的值 返回值可以自定义 为任意需要返回的值 适应return关键之进行返回
- 返回值具有结束函数执行的作用 可以利用return在某些条件下对函数进行中断
练习
- 封装一个函数, 判断一个数字是不是质数
function zhi(a) {
var count = 0;
for (i = 2; i < a; i++) {
if (a % i == 0) {
return (a + '不是质数')
}
}
return (i + '是质数')
}
var s = zhi(11)
console.log(s)