JS——流程控制,函数,数组

简介: JS——流程控制,函数,数组

JS流程控制/函数/数组

分支流程控制

// 1 . if 的语法结构
        if (条件表达式1) {
            //执行语句1
        } else if(条件表达式2) {
            //执行语句2
        } else if(条件表达式3) {
            //执行语句3
        } else {
            //执行语句4
        }

三元表达式 条件表达式 ? 表达式1 : 表达式2

如果条件表达式结果为真 则返回表达式1的值 如果条件表达式结果为假 则返回表达式2的值

可以简化代码,代替if语据

switch 语句 匹配的值 全等

switch(表达式) {
    case value1:
        执行语句1;
        break;
    case value2:
        执行语句2;
        break;
    case value3:
        执行语句3;
        break;
    // ...
    default:
        执行语句4;
}
//循环结构
//1 . for循环
 // continue 关键字  
 // break 关键字
    for(初始化变量; 条件表达式;操作表达式) {
        if(条件表达式) {
            continue; //退出本次循环,跳到操作表达式
        } else {
            执行语句
            break;    //退出整个循环
        }
    }
// 1 . 数组(Array) :
      var arr = new Array();   //创建数组
      var arr = [1, 2, '我', '你', true];   //字面量,创建数组,数组内的数据称为数组元素
      console.log(arr);    //获取全部
      //访问  数组名[索引下标]
      console.log(arr[2]);
      // 遍历数组
      for (var i = 0;i < arr.length;i++) {
          console.log(arr[i]);
      }
      //新增数组元素
      arr[5] = 'pink';  //追加数组元素
      arr[0] = 8;     //修改
      //不能直接给数组名赋值
       // 冒泡排序法        把一系列数据按照一定顺序 排序
      var arr1 = [76,90,30,12,54,86,3,8,4];
  for(var j = 0;j <= arr1.length-1;j++) {
          for(var i = 0;i <= arr1.length-1-i;i++) {
          if(arr1[i]>arr1[i+1]) {
              var temp = arr1[i+1];
              arr1[i+1] = arr1[i];
              arr[i] = temp;
          }
      }
  }
    ```

函数就是封装了一段可以被重复执行调用的代码块 目的: 让代码重复使用

  1. 声明函数
// function 函数名() {
    //     函数体
    // }         1)function 声明函数的关键字 全部小写 
     2. 调用函数
     函数名()
    // 函数的封装
    // 函数的参数 (形参与实参)
    // function 函数名(形参1,形参2...) {
// }
// 函数名(实参1,实参2...);

函数形参与实参个数的匹配

1.实参个数>形参个数,取到形参个数

2.实参个数<形参个数,多余的形参定义为 undefined 最终结果为NaN

//函数的返回值
function 函数名() {
    return 需要返回的结果;
}
    函数名();

1)函数实现某种功能,最终结果返回给函数的调用者函数名(),通过return 实现.

2)只要函数遇见return,就把后面的结果 返回给函数的调用者

函数名() = return后面的结果

return 终止函数,

只能返回一个值,若用逗号隔开,返回最后一个值

若想返回多个值,用数组即可

function getResult(num1,num2,num3) {
    return [num1+num2,num1,num2,num1-num2]
}
getResult(1,2,45);

argument的使用

function fn() {
    console.log(arguments);   //里面储存了所有传递过来的实参
    console.log(arguments.length);
    //按照数组方式遍历数组
}
fn(1,2,3);
伪数组 并不是真正意义上的数组
1 . 具有数组 length 属性 
2.按照索引的方式进行存储 
3.没有真正数组的一些方法


相关文章
|
6月前
|
搜索推荐 Shell
bpmn-js打造最强flowable流程设计器
在企业系统中,流程引擎至关重要。Flowable虽强大,但默认设计器功能有限。本文基于 bpmn-js 打造增强版 Flowable 设计器,支持丰富自定义属性与后端联动。bpmn-js 优势明显:原生支持 BPMN 2.0、可扩展性强、社区活跃。节点涵盖多种事件、任务、网关等,满足复杂业务需求。示例效果可见在线预览。
|
5月前
|
机器学习/深度学习 JavaScript 前端开发
JS进阶教程:递归函数原理与篇例解析
通过对这些代码示例的学习,我们已经了解了递归的原理以及递归在JS中的应用方法。递归虽然有着理论升华,但弄清它的核心思想并不难。举个随手可见的例子,火影鸣人做的影分身,你看到的都是同一个鸣人,但他们的行为却能在全局产生影响,这不就是递归吗?雾里看花,透过其间你或许已经深入了递归的魅力之中。
241 19
|
7月前
|
JavaScript
JS实现多条件搜索函数
JS封装的多条件搜索
|
9月前
|
JavaScript 前端开发
JavaWeb JavaScript ③ JS的流程控制和函数
通过本文的详细介绍,您可以深入理解JavaScript的流程控制和函数的使用,进而编写出高效、可维护的代码。
210 32
|
8月前
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
8月前
|
JavaScript 前端开发 Java
详解js柯里化原理及用法,探究柯里化在Redux Selector 的场景模拟、构建复杂的数据流管道、优化深度嵌套函数中的精妙应用
柯里化是一种强大的函数式编程技术,它通过将函数分解为单参数形式,实现了灵活性与可复用性的统一。无论是参数复用、延迟执行,还是函数组合,柯里化都为现代编程提供了极大的便利。 从 Redux 的选择器优化到复杂的数据流处理,再到深度嵌套的函数优化,柯里化在实际开发中展现出了非凡的价值。如果你希望编写更简洁、更优雅的代码,柯里化无疑是一个值得深入学习和实践的工具。从简单的实现到复杂的应用,希望这篇博客能为你揭开柯里化的奥秘,助力你的开发之旅! 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一
|
8月前
|
数据采集 JavaScript 前端开发
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)
用array.filter()来实现数据筛选、数据清洗和链式调用,相对于for循环更加清晰,语义化强,能显著提升代码的可读性和可维护性。博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
监控 JavaScript 算法
深度剖析 Vue.js 响应式原理:从数据劫持到视图更新的全流程详解
本文深入解析Vue.js的响应式机制,从数据劫持到视图更新的全过程,详细讲解了其实现原理和运作流程。
|
前端开发 JavaScript 开发者
除了 Generator 函数,还有哪些 JavaScript 异步编程解决方案?
【10月更文挑战第30天】开发者可以根据具体的项目情况选择合适的方式来处理异步操作,以实现高效、可读和易于维护的代码。
|
JavaScript 前端开发 索引
JS遍历数组里数组下的对象,根据数组中对象的某些值,组合成新的数组对象
这篇文章介绍了如何在JavaScript中遍历数组里数组下的对象,并根据对象的某些属性值组合成一个新的数组对象。主要内容包括使用ES6的`for...of`循环来遍历数组对象,然后根据需要提取对象中的属性值,并将它们放入新的对象中,最终形成一个新的对象数组以供使用。

热门文章

最新文章