五、函数封装及调用、参数及返回值、作用域、匿名函数、立即执行函数

0基础速通:函数目的,函数定义,函数形参和实参,参数类型,匿名函数 在Python中,函数是一种可重用的代码块,用于执行特定的任务或计算。函数通过def关键字来定义,并且必须包含一个函数名和括号内的参数列表(如果有的话)。函数体(即函数内部执行的代码)通过缩进(通常是4个空格或1个制表符)来标识。")调用:greet("Alice")输出:Hello, Alice!在这个例子中,greet是函数名,name是参数。当调用greet函数时,应该传递一个字符串作为name参数,然后函数会打印一个问候消息。 阅读详情

1. 函数基本使用

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    * {
      margin: 0;
      padding: 0;
    }

    span {
      display: inline-block;
      width: 70px;
      border: 1px solid lightcoral;
      padding-left: 5px;
    }
  </style>
</head>

<body>

  <!-- 
    函数: 是可以被重复使用的代码块
    作用:把具有相同或相似逻辑的代码“包裹”起来,有利于代码复用
  -->
  <!-- alert(),parseInt()都是函数的调用 -->
  <script>

    /* for (let j = 1; j < 10; j++) {
      for (let i = 1; i <= j; i++) {
        document.write(<span>${i}*${j}=${i * j}</span>)
      }
      document.write('<br>') //换行标签
    } */

    // 封装九九乘法表
    function jiujiu() {
      let strI = ''
      for (let i = 1; i <= 9; i++) {
        let strJ = ''
        for (let j = 1; j <= i; j++) {
          strJ += `<span>${j}×${i}=${j * i}</span>`
        }
        strI += `<p>${strJ}</p>`
      }
      document.write(strI)
    }

    // 调用函数
    jiujiu()
    jiujiu()
  </script>
</body>

</html>

2. 函数参数及返回值

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

  <script>
    // 声明函数时小括号里的叫形参 → 接收数据用
    function sum(a, b) {

      // 想要把函数内部的计算结果拿到函数外面使用,就需要返回值
      // 返回值 返回的位置是函数调用的位置
      // return退出当前函数 下方代码不执行
      // 函数可以没有 return,这种情况函数默认返回值为 undefined
      return a + b
    }

    // 调用函数时小括号里的叫实参 → 真实数据
    // 若函数无返回值,输出函数调用得到的结果为undefined
    console.log(sum(1, 2))

  </script>
</body>

</html>

3. 参数注意事项

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

  <script>
    function fn(stuID, name, age) {
      console.log(stuID, name, age)
      /* console.log(typeof stuID)
      console.log(typeof name)
      console.log(typeof age)
      console.log('----------') */
    }

    fn(1, 'Tom', 18) // 1 'Tom' 18

    // 传入数据顺序错误,不报错
    fn('Tom', 1, 18) // Tom 1 18

    // 开发中尽量形参和实参个数保持统一
    // 如果形参过多 会自动填上undefined
    fn(1, 'Tom') // 1 'Tom' undefined

    // 如果实参过多 那么多余的实参会被忽略
    fn(1, 'Tom', 18, 80) // 1 'Tom' 18
  </script>
</body>

</html>

4. 逻辑中断

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

  <script>
    // || 或 一真则真,左边true右边中断
    function sum(x, y) {
      // console.log((x || 0) + (y || 0))

      x = x || 0
      y = y || 0
      console.log(x + y)
    }

    sum() // 0
    sum(1) // 1
    sum(2, 2) // 4
  </script>
</body>

</html>

5. 默认参数

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

  <script>
    // 计算100+用户输入的数字
    // 默认值:只会在缺少实参传递或者实参是undefined才会被执行
    // 函数定义时,默认参数放到必须传参的形参后边
    function sum(x, y = 0) {
      console.log(x + y)
    }
    sum(100) // 100
    sum(100, 20) // 120
  </script>
</body>

</html>

6. 数组求和

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

  <script>
    // 函数封装-数组求和
    function arrSum(arr) {
      let sum = 0
      for (let i = 0; i < arr.length; i++) {
        sum += arr[i]
      }
      return sum
    }
    // console.log(arrSum([1, 2, 3, 4, 5])) // 15

    // 用户输入的数字做累加
    let arr = []
    for (i = 1; ; i++) {
      let num = +prompt(`
      请输入数字${i}
      输入666则退出输入
      `)
      if (num === 666) {
        break
      } else {
        arr.push(num)
      }
    }
    console.log(arrSum(arr))

  </script>
</body>

</html>

7. 任意数组最大最小值

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <!-- <script>
    //封装函数,求任意数组的最大值
    function getMax(arr) {
      let max = arr[0]
      for (let i = 1; i < arr.length; i++) {
        if (max < arr[i]) {
          max = arr[i]
        }
      }
      console.log(max)
    }

    getMax([1, 23, 34, 6, 7, 8])
  </script> -->

  <!-- 
    debugger
    通过代码打断点,看完执行流程需要手动注释代码
  -->
  <!-- 
    1. 封装函数,求任意数组中的最大值并返回这个最大值
    2. 封装函数,求任意数组中的最小值并返回这个最小值
  -->
  <script>
    // 最大值
    // arrMax(arr)中的arr为形参 使得这个函数的灵活性更高
    function arrMax(arr) {
      let max = arr[0]
      for (let i = 1; i < arr.length; i++) {
        max = max > arr[i] ? max : arr[i]
      }
      return max
    }
    console.log(arrMax([1, 2, 5, 8, 12, 35, 34]))

    // 最小值
    function arrMin(arr) {
      let min = arr[0]
      for (let i = 1; i < arr.length; i++) {
        min = min < arr[i] ? min : arr[i]
      }
      return min
    }
    console.log(arrMin([1, 2, 5, 8, 12, 35, 34]))

  </script>
</body>

</html>

8. 判断数组是否存在某个元素 some

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

  <!-- 封装函数,判断数组是否存在某个元素,
   如果有则返回true,否则返回false -->

  <!-- 
    ①:函数封装 some,传递两个参数:元素和数组
    ②:可以设置一个初始变量 flag 为 false
    ③:如果能找到,则修改 flag 值为 true,则中断循环,找不到则不修改 flag
    ④:返回 flag
  -->
  <script>
    function some(arr, num) {
      let flag = false
      for (let i = 0; i < arr.length; i++) {
        if (arr[i] === num) {
          flag = true
          break
        }
      }
      return flag
    }

    console.log(some([1, 2, 4, 7, 24, 47, 56], 100))
    console.log(some([1, 2, 4, 7, 24, 47, 56, 100], 100))

  </script>
</body>

</html>

9. 查找元素在数组中的索引 findIndex

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

  <!-- 
    封装函数,查找元素在数组中的索引l。
    如果找到该元素(第一个元素即可),则返回该元素的索引号,找不到该元素则返回-1
    思路:
    ①:函数封装findlndex,传递两个参数:元素和数组
    ②:可以设置一个初始变量 index 为-1
    ③:如果能找到,则修改index值为当前索引号,则中断循环,找不到则不修改index
    ④:返回index
  -->
  <script>
    let names = ['小红', '小明', '大强']

    function findIndex(e1, arr = []) {
      let index = -1
      for (let i = 0; i < arr.length; i++) {
        if (arr[i] === e1) {
          index = i
          break
        }
      }
      return index
    }

    console.log(findIndex('小明', names))

  </script>
</body>

</html>

10. 作用域

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <!-- 作用域:变量或者值在代码中可用性的范围 -->
  <!-- 作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。 -->
  <!-- 
    1. 全局作用域 script 标签或者js文件 → 全局变量
    2. 局部作用域 函数作用域和块级作用域{} → 局部变量
       块级作用域{}(let const)
  -->
  <!-- 
    注意:
      函数内部不声明直接赋值的变量当全局变量,不提倡
      函数内部的形参可以当做局部变量看
  -->
  <script>
    let num = 10
    console.log('函数外', num)

    function fn() {
      // 先使用后调用 报错
      console.log('函数内', num)
      let num = 100
    }
    fn()

    // 作用域链(就近原则)
    /*
      在函数被执行时,会优先查找当前函数作用域中查找变量
      如果当前作用域查找不到则会逐级向上查找父级作用域直到全局作用域
      都找不到则提示错误,这个变量没有被定义过
    */
  </script>
</body>

</html>

11. 匿名函数

11.1 函数表达式

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

  <!-- 有名函数 → 具名函数 -->
  <!-- 
    匿名函数 function(){}
    两种使用方式:函数表达式、立即执行函数   
  -->
  <script>
    /* 
      函数表达式:将匿名函数赋值给一个变量,并且通过变量名称进行调用
      函数表达式必须先定义,后使用
    */
    let fn = function () {
      console.log('匿名函数')
    }
    fn()
  </script>
</body>

</html>

11.2 立即执行函数

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

  <!-- 
    立即执行函数,避免全局变量之间的污染
    注意:多个立即执行函数要用 ; 隔开,要不然会报错
    立即执行函数可以传参,立即执行函数可以添加函数名
  -->
  <!-- JS写分号代表结束 -->
  <script>
    // 1. (匿名函数)()
    (function () {
      console.log('(匿名函数)()')
    })();

    // 2. (匿名函数())
    (function () {
      console.log('(匿名函数())')
    }());
  </script>
</body>

</html>

12. 案例-手风琴

重要代码第85行

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    .container {
      display: flex;
      justify-content: space-around;
      flex-direction: column;
      align-items: center;
      height: 100vh;
      padding: 0 20px;
    }

    .one {
      width: 760px;
      height: 260px;
      border: 1px solid #000;
    }

    .two {
      width: 640px;
      height: 260px;
      border: 1px solid #000;
    }

    .box {
      display: flex;
      overflow: hidden;
      height: 260px;
    }

    .box>div {
      width: 120px;
      border: 1px solid #fff;
      transition: all 0.5s;
    }

    .box>div:hover {
      width: 400px;
    }
  </style>
</head>

<body>
  <div class="container">
    <div class="one">
      <!-- <div class="box">
        <div><img src="./images/1.jpg" alt=""></div>
        <div><img src="./images/2.jpg" alt=""></div>
        <div><img src="./images/3.jpg" alt=""></div>
        <div><img src="./images/4.jpg" alt=""></div>
        <div><img src="./images/5.jpg" alt=""></div>
        <div><img src="./images/6.jpg" alt=""></div>
        <div><img src="./images/7.jpg" alt=""></div>
      </div> -->
    </div>
    <div class="two"></div>
  </div>

  <script>
    let arr = [
      './images/1.jpg',
      './images/2.jpg',
      './images/3.jpg',
      './images/4.jpg',
    ]

    let arr2 = [
      './images/5.jpg',
      './images/6.jpg',
      './images/7.jpg',
    ]

    function getAccordion(array) {
      let str = ''
      for (let i = 0; i < array.length; i++) {
        str += `<div><img src="${array[i]}" alt=""></div>`
      }
      return `<div class="box">${str}</div>`
    }

    document.querySelector('.one').innerHTML = getAccordion(arr)
    document.querySelector('.two').innerHTML = getAccordion(arr2)
  </script>
</body>

</html>

13. 作业

13.1 封装 everyLessThan 函数

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

  <!-- 
    用于检测数组所有元素是否都满足小于某个数值
  -->
  <script>
    // 1. everyLessThan 函数声明
    function everyLessThan(arr = [], num) {
      // 补充代码
      let elt = true
      for (let i = 0; i < arr.length; i++) {
        if (arr[i] >= num) {
          elt = false
          break
        }
      }
      return elt
    }

    // 2. everyLessThan 函数的调用
    console.log(everyLessThan([10, 20, 30], 25)) // false
    console.log(everyLessThan([1, 2, 3], 5)) // true
  </script>
</body>

</html>

13.2 封装求和或平均值函数

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

  <!-- 
    函数可以传递 2 个参数,比如 sumOrAvage(arr, true)
    参数一: 接受实参传递过来的数组
    参数二:  布尔类型
    如果是true或者不传递参数 是求和操作
    如果传递过来的参数是 false 则是求平均值
    sumOrAvage 函数内,将计算的结果进行返回
  -->
  <script>
    function sumOrAvage(arr = [], isSum) {
      let sum = 0
      for (let i = 0; i < arr.length; i++) {
        sum += arr[i]
      }
      if (isSum !== false) {
        return sum
      } else {
        return sum / arr.length
      }
    }

    // 第二个参数布尔值true,表示求和
    console.log(sumOrAvage([1, 2, 3], true)) // 6

    // 第二个参数不传,也是默认求和
    console.log(sumOrAvage([1, 2, 3])) // 6

    // 第二个参数布尔值false,表示求平均值
    console.log(sumOrAvage([1, 2, 3], false)) // 2
  </script>
</body>

</html>

13.3 待办任务-二次开发题

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <link rel="stylesheet" href="./css/index.css">
</head>

<body>
  <div class="main">
    <h3>待办任务</h3>

    <!-- 新增任务按钮 -->
    <a href="javascript:;" onclick="add()" class="icon">+</a>

    <ul>
      <!-- <li>
        <p>xxxxxx</p>
        <a class="close" href="javascript:;" onclick="del()">×</a>
      </li> -->
    </ul>
  </div>

  <script>
    let arr = ['学习javascript', '学习Vue', '学习React']

    // 新增功能
    function add() {
      arr.push(prompt('请输入你的待办任务'))
      fn()
    }

    // 删除功能
    function del(index) {
      arr.splice(index, 1)
      // console.log(index)
      // console.log(arr)
      fn()
    }

    // 渲染
    function fn() {
      let str = ''
      for (let i = 0; i < arr.length; i++) {
        str += `
        <li>
          <p>${arr[i]}</p>
          <a class="close" href="javascript:;" onclick="del(${i})">×</a>
        </li>
      `
      }
      document.querySelector('.main ul').innerHTML = str
    }
    fn()

  </script>
</body>

</html>
文件函数的封装 立即下载

相关推荐

scDeepCluster_pytorch代码解读与文章理解

论文:Clustering single-cell RNA-seq data with a。

qq_34179307的博客 915

函数的封装

函数的基本封装步骤: 1.定义程序来实现功能的需求 下面为累加求和的函数: function add( max, min = 1 ){ if( min > max ){ var middle; middle = min; min = max; max = middle; } var res = 0; for(var i = min; i <= ...

ab_dk的博客 9759

英伟达笔试1

本文摘要: 使用NAND2门设计4位奇偶校验发生器,通过15个NAND2门实现4输入异或功能,分三级结构完成奇校验计算。 时序分析公式总结: 建立时间约束:T_cq + T_comb(max) + T_setup + T_skew ≤ T_clk 保持时间约束:T_cq + T_comb(min) + T_skew ≥ T_hold 提供了两段路径的具体时序检查公式和建立违规修复方法 分析32位粘滞累积寄存器Verilog代码: 功能:记录输入数据中出现过的所有1位 每个bit独立实现,复位清零,有效输入时

soulermax的博客 165

函数的封装和使用

学习笔记

qq_35784654的博客 3282

STM32H743 SD卡读写避坑实录:CubeMX配置MDMA给FATFS,我的FreeRTOS项目踩了哪些雷?

本文详细解析了STM32H743在CubeMX配置中结合SDMMC、MDMA与FATFS的实战避坑指南,特别针对FreeRTOS环境下的SD卡读写问题提供了解决方案。从时钟配置到FATFS参数设置,再到DMA缓存维护和FreeRTOS集成技巧,帮助开发者高效解决数据损坏、DMA传输错误等常见问题,提升项目稳定性。

weixin_30878501的博客 494

边表法

边表法是用来绘制填充一个面的,边表法的关键是边表和连接边表的扫描线。 对于边的描述利用边表数据结构,包含边与扫描线的交点x坐标,边的最大y坐标,这样可以知道边加入到哪些扫描线上,便还有一个指针来记录扫描线上其它边。 //边数据结构 #pragma once #ifndef __CAETZ__ #define __CAETZ__ #include "pch.h" #include "CPoin...

weixin_42376458的博客 2101

函数(封装)

关于函数的总结与应用

qq_50260510的博客 1984

MIPI信号的分析--结合示波器实际测试波形

如果排查的思路对你有帮助,请记住 消雨匆匆 or 大吊工。码字和排查很累,仅此而已 ,硬件不是抄电路,拿烙铁,懂点软件,细致分析,找问题和破案搜集线索是一样的。 部分内容来自于此博客的大神总结: http://www.elecfans.com/news/wangluo/20170323499614.html http://www.elecfans.com/yuanqijian/jieko...

消雨匆匆 4万+

C语言学习第三阶段-函数的封装

一、为什么要封装函数。 1、函数封装后可以提高我们代码的阅读性,可以快速的略过一些封装函数,直接找到main()函数,从main()函数开始再次有序的阅读代码。 2、可以多次使用,不在需要我们去复制粘贴,一次购买,终身受益。 3、可移植性高,安全性高,不再将代码展示出来,通过函数调用直接使用。 二、基础函数的封装。 三、函数文件的封装。 ...

永不秃头的程序员的博客 2万+

oracle rac 成本及架构,Oracle Extended RAC 架构实战

Extended-RAC,是RAC技术的一种扩展增强。Extended-RAC是通过专用光纤(或租用裸光纤)加DWDM(波分设备)设备将两个不同楼栋/同城甚至异地机房进行相连,将数据库主机、存储分别放置于不同机房,利用存储复制/ASM Mirror等技术进行数据复制进行搭建的一种远距离集群架构。Extended RAC需要将不同楼栋/同城甚至异地机房通过专用光纤(或租用裸光纤)加DWDM(光纤复用...

weixin_33812391的博客 2453

YOLO26涨点改进 | 全网独家创新,注意力改进篇| SCI一区Top | 引入AFCA自适应细粒度通道注意力,联合建模全局与局部通道依赖关系,适合目标检测、图像去雾、关键点检测、图像分类、图像分割

🔥本文提出了一种基于AFCA(自适应细粒度通道注意力)模块改进的YOLO26目标检测网络。AFCA通过联合建模全局与局部通道依赖关系,实现了更精细的通道注意力分配,能够增强目标相关特征并抑制背景噪声。该模块采用自适应融合策略动态平衡通道权重,在保持轻量级结构的同时,显著提升了小目标和复杂背景下的检测性能。文章详细介绍了AFCA的结构原理、实现优势,并提供了完整的代码实现和YAML配置文件,指导读者如何将该模块集成到YOLO26框架中。实验结果表明,AFCA在检测精度和鲁棒性方面优于传统注意力机制。

Ai缝合怪、助力小伙伴高效发论文 302

C语言 函数的封装思想

C语言 函数的封装思想

m0_56051805的博客 1690

政务帮办新范式:基于检索增强与多智能体协同的智能系统实践

本文提出了一种多智能体协同的智能政务系统架构,突破传统方案在状态管理、职责过载和感知闭环方面的局限。系统由中央规划智能体、对话引导智能体、参数提取智能体和执行状态分析智能体组成,通过职责分离与显式状态管理实现高效协同。核心创新在于中央决策引擎的确定性逻辑,采用基于规则的状态机设计,确保系统可靠可控。该架构支持自然语言交互、参数自动提取、业务系统操作和视觉闭环验证,能够真正实现"帮办"功能,显著提升政务服务的智能化水平。

469

web前端-JavaScript中的函数(创建,参数,返回值,方法,函数作用域,立即执行函数)

函数()在JavaScript中有三种方法来创建函数其中第一种方法在实际使用中并不常用。创建函数之后需调用函数才可执行函数体内的代码。 函数的调用:使用new关键字创建一个函数,将要封装的功能(代码)以字符串的形式传递给封装函数,在调用函数时,封装的功能(代码)会按照顺序执行。用函数声明显而易见的要简便许多,小括号中的形参视情况而写,语句写在中括号内。与构造函数不同的是不需要以字符串的形式写入。函数表达式和函数声明的方式创建函数的方法相似,不同的是用函数表达式创建函数是将一个匿名函数赋值给一个变量,同时在语

苏凉.py的博客 3421

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【前端 教程】详解 立即执行函数

【前端 教程】立即执行函数 详解 1、定义 立即执行函数:声明一个函数,并马上调用这个匿名函数就叫做立即执行函数;即立即执行函数是定义函数以后立即执行该函数。 2、立即函数的写法 在理解立即函数写法之前 需要先回顾一下JS的函数定义的几种方式 这样会便于更好理解立即执行函数、 ps:JS中函数定义方法的自行脑补 我们定义好函数之后,立即调用该函数,这时不能在函数的定义后面直接加圆括号,这会产生语法错误。 //这是错误的 function fn(){}() 这是因为:function 这个关键字,既可以

菜鸟的后花园 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

JS基础之【函数的声明、传参、调用,函数作用域与匿名函数】

JS基础之函数作用域详解,包含函数的声明、传参、调用,函数返回值、函数作用域与匿名函数。传参包括形参列表和实参列表,作用域包括全局作用域和局部作用域,匿名函数包含了函数表达式和立即执行函数等等......

共同学习,共同成长 1079

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

函数封装、调用、作用域

函数(方法) 封装 函数:一段代码的封装 定义函数:function fn(){} ,var fn = function (){} 调用函数:函数名(); 参数:形参,实参 函数: 目的: ​ 1、了解函数作用【代码封装,重复使用】 2、会定义函数并且调用【function 函数名 () {},调用:函数名();】 函数的概念 函数: 可以封装一段特定功能代码,然后通过函数名调用,实现对该段代码重复使用 函数:一段(功能)代码的封装 函数重点: 1. 封装 2. 重复 函数的作用 实现代码的重复使用,提高

qq_51449345的博客 1412

JavaScript 基础四 函数使用、传参、返回值、作用域、匿名函数

JavaScript 基础四 函数使用、传参、返回值、作用域、匿名函数

yavlgloss的博客 1053

JavaScript学习文档(5):为什么需要函数、函数使用、函数传参、函数返回值、作用域、匿名函数、逻辑中断

通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。函数可以把具有相同或相似逻辑的代码“包裹”起来,通过函数调用执行这些被“包裹”的代码逻辑,这么做的优势是有利于。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。需求:采取函数封装的形式:输入2个数,计算两者的和,打印到页面中。//函数调用,这些函数体内的代码逻辑会被执行。,只不过已经封装好了,我们直接使用的。函数不调用,就不会执行函数体里的代码。

m0_58433849的博客 2130

9.函数,变量作用域(全局作用域和局部作用域),匿名函数,立即执行函数,逻辑中断,常见值布尔判断

其实学习函数学习的不仅仅是在js中如何声明一个函数如何给函数传参如何引用和调用函数,函数在整个编程领域都是一种思想—抽取和封装的思想那么啥是抽取和封装的思想呢?

jkjkjkjk_的博客 915

Python之函数【参数,返回值,嵌套调用,作用域,匿名函数】

目录 1、简介 2、参数 3、返回值 4、嵌套调用 5、变量的作用域 5.1 局部变量 5.2 全局变量 5.3 global 关键字 6、参数进阶 6.1 形参和实参的值传递 6.2 缺省参数 7、匿名函数 1、简介 函数的作⽤,在开发程序时,使⽤函数可以提⾼编写的效率以及代码的重⽤。 函数的使⽤包含两个步骤: 定义函数 —— 封装独⽴的功能 ; 调⽤函数 —— 执行函数的代码 。 1、函数基本使用 定义函数的格式如下: def 函数名

一切总会归于平淡 691

前端学习 js(3)函数,函数传参,作用域,匿名函数,立即执行函数

function 是被设计为执行特定任务的代码块函数可以把具有相同或相似逻辑的代码“包裹”起来,通过函数调用这些被“包裹”的代码逻辑,这么做的优势是有利于精简代码方便复用。比如我们所使用的alert(),prompt(),console.log()都是一些js函数,只不过已经封装好了,我们直接使用的。

Flyoungbuhu的博客 533

JavaScript 基础学习笔记(五):函数、作用域、匿名函数

函数的本质是封装(包裹),函数体内的逻辑执行完毕后,函数外部如何获得函数内部的执行结果呢?函数可以把具有相同或相似逻辑的代码“包裹”起来,通过函数调用执行这些被“包裹”的代码逻辑,这么做的优势是有利于精简代码方便复用。通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。这个关键字,将内部执行结果传递到函数外部,这个被传递到外部的结果就是返回值。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。

weixin_62764364的博客 611

js基础,函数,作用域,匿名函数,立即执行函数

js基础,函数,作用域,匿名函数,立即执行函数

m0_67251803的博客 358

掌握JavaScript函数封装与作用域

本文介绍了JavaScript函数的基本概念和使用方法。主要内容包括:1)函数的封装意义,通过函数声明实现代码复用;2)函数的基本语法结构(关键字、函数名、参数等);3)函数调用方式;4)参数传递(形参和实参);5)返回值使用return关键字;6)作用域规则(全局/局部作用域,变量查找顺序);7)匿名函数和立即执行函数的用法。文中通过多个代码示例演示了如何声明、调用函数,处理参数和返回值,以及理解作用域规则。这些知识是JavaScript编程的基础核心内容。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 931

javascript学习 - 函数介绍

编程时,可能会定义许多相同或者功能相似的代码,此时我们每需要使用一次,就需要重写编写一次。虽然利用循环结构也能够实现一些简单的重复操作,但是功能较为局限。此时,我们就需要使用到 JavaScript 中的函数。所谓函数,就是通过将一段可以重复调用的代码块进行封装,从而实现代码的重复利用。以上就是本文的所有内容了,主要讲解了关于函数的简介、使用、参数、返回值、作用域以及常用的匿名函数。

paofuluolijiang的博客 1660
上一篇: 四、数组及其基本操作(遍历、增删、排序)、循环嵌套、slice、for...of
下一篇: 六、对象属性方法及增删改查、遍历对象和对象数组、Math.random()随机数、数据类型存储、变量声明
bpmf_fff
博客等级 码龄6年 219粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值