js-day3

发布于:2025-05-28 ⋅ 阅读:(14) ⋅ 点赞:(0)

函数

为什么需要函数

  1. function,函数,是被设计为执行特定任务的代码块
  2. 精简代码,方便复用,提高开发效率

函数的使用

  1. 函数的声明
    function 函数名(){
    	函数体
    }
    
  2. 函数的命名规范
    1. 和变量名基本一致
    2. 尽量使用小驼峰命名法
    3. 前缀应为动词
  3. 函数的调用:函数名()

函数的传参

  1. 声明语法
    function 函数名(参数列表){
    	函数体
    }
    
  2. 参数列表
    1. 传入数据列表
    2. 声明这个函数需要传入几个参数
    3. 多个数据用,隔开
  3. 例如
      // 形参:形式上的参数    
      function fn(start, end) {
        let sum = 0;
        for (var i = start; i <= end; i++) {
          sum += i;
        }
        console.log(sum);
      }
      // 实参:实际上的参数
      fn(1, 5);
    
  4. 参数默认值: function fn(start=0, end=0) {},默认值只会在缺少实参时才有效

函数的返回值

  1. 关键字:return
  2. return后的代码不会再被执行,return不能换行写
  3. 函数没有return时,默认返回undefined

断点调试

  1. F10:逐过程,不进入函数体;
  2. F11:逐步调试,进入函数体

作用域

  1. 作用域是指在程序中变量、函数和对象的可访问性范围
  2. 全局作用域:在整个程序中都可以访问的变量。对应全局变量
  3. 函数作用域(局部作用域):在函数内部声明的变量,仅在该函数及其子函数中可用。对应局部变量
  4. 块作用域:在{}包裹的范围内可用
  5. 注意:
    1. 如果函数内部,变量没有声明直接赋值,也当全局变量
    2. 函数内部的形参可以看做局部变量
    3. 变量访问原则:就近原则

匿名函数

  1. 函数表达式:
    1. 声明:let fn=function(){}
    2. 调用:fn()
    3. 具名函数与函数表达式区别:具名函数的调用可以写在函数声明之前,也可以写在函数声明之后;函数表达式必须先声明后调用。
  2. 立即执行函数:必须加;结束
     // 第一中写法
    (function(a,b){
      console.log(a+b)
      console.log('我是立即执行函数')
    })(1,2);
    // 第二种写法
    (function(a,b){
      console.log(a+b)
      console.log('我是立即执行函数')
    }(1,2));
    

逻辑中断

符号 短路条件
&& 左边为false就短路
|| 左边为true就短路
  // 逻辑与 &&
  // 1. 如果第一个表达式为真,则返回第二个表达式
  console.log(1 && 2); //2

  // 2. 如果第一个表达式为假,则返回第一个表达式
  console.log(0 && 2); //0

  // 逻辑或 ||
  // 1. 如果第一个表达式为真,则返回第一个表达式
  console.log(1 || 2); //1
  // 2. 如果第一个表达式为假,则返回第二个表达式
  console.log(0 || 2); //2

转换为Boolean型

  1. 语法:Boolean(内容)
  2. ''0undefinednullfalseNaN转换后为false,其余都为true