part4 函数

part4 函数

1.函数的目的:

将多次使用的公共代码抽取并封装,方便使用(代码复用)

2.函数使用

函数声明

声明语法
function 函数名(){
    函数体
}

命名规范:

  • 和变量命名要求类似
  • 尽量小驼峰
  • 前缀动词
调用语法
函数名()

3.函数传参

声明语法
function 函数名(参数列表){
    函数体
}
调用语法
函数名(传递的参数列表)
getsum(10,20)
tips:
  • 形参:声明函数时写在右边小括号里的参数(形式参数)
  • 实参:调用函数时写在右边小括号里的参数(实际参数)

4.函数返回值

概念:当调用某个函数,这个函数会 返回一个结果 出来

function getSum(x,y){
    return x+y
    //函数体会返回x+y的值
}
let num = getSum(10,30)
document.write(num)
//返回值的结果为20 

细节补充:

  • return后面的数据不能换行写
  • return后面的语句不会执行
  • 没有return的函数默认返回为 undifined
  • 两个相同函数:后面会覆盖前面的函数
  • 参数问题
    • 形参过多:未填充的=undefined
    • 实参过多:多填充的=被忽略
  • break无法结束函数

5.作用域

  • 全局作用域
    • 全局有效
    • 能在全局内访问和修改
  • 局部作用域
    • 局部有效
    • 只能在局部访问和修改
      ****如果函数内部,变量没有声明,直接赋值,也当全局变量看,但不推荐****
function fn(){
    num = 10
}
f()
console.log(num)
// num可以被顺利打印

访问原则:能够访问到的情况下,先局部,局部没有再找全局变量

6.匿名函数

  • 具名函数
    1. 声明function fn(){}
    2. 调用fn()
    3. 调用可以写到任意位置
  • 匿名函数:
    1. function() {}
    2. 必须先声明后调用

匿名函数

使用方法
1. 函数表达式

将匿名函数赋值给一个变量,并且通过变量名称进行调用 我们将这个称为 函数表达式

let fn = function() {
   //函数体 
}
2.立即执行函数

作用:
立即执行防止变量污染
语法:

(function () {console.log(11)})();
(function () {console.log(12)})()
//相邻的两个立即执行函数中间加分号

7. 逻辑中断

默认参数的两种写法:

一:

function fn(x=0,y=0){
    函数体
}

二:

function fn(x,y){
    x = x || 0  //左边x如果不是undifined(false)则不运行x=0反之则运行
    y = y || 0
    console.log(x+y)
    //输出为0
}
逻辑中断原理:

短路:只存在于&&(与)和||(或)中,当满足一定条件会让右边的代码不执行

符号 短路条件 特殊情况
&& 左边为false短路 两边都为真:输出最后一个真值
|| 左边为true短路 两边都为真:输出第一个真值
一般用于变量赋值
转化为boolean类型

显示转换:

  • boolean(内容)
  • ”,0,undefined,null,false,NaN = false
  • 其余 = true

Write your comment Here