• JavaScript学习——数组概念及使用、函数的调用


    一、数组

    定义:数组array就是一组数据的集合,可利用new 创建数组,也可以利用字面量创建数组,数组里面的数据一定要用逗号隔开

    1、数组的使用

    .1 利用new创建数组

    var arr=new Array()   //创建空数组

    .2 利用数组字面量创建数组

    var arr=[]        //创建空数组

    var arr1=[1,2,'哈哈哈',true]

    .3获取数组元素,索引下标开访问数组的元素,索引号从0开始

     数组名[索引号]

    console.log(arr1[2])

    2、遍历数组

       遍历数组:把数组的元素从头到尾访问一次

    数组的长度是元素个数和索引号不一样,arr.length用于动态监测数组元素的个数,可以有效实现遍历数组

    1. var arr1=[1,2,'哈哈哈',true]
    2. for (i = 0; i < 4; i++) {
    3. console.log(arr1[i]);
    4. }
    5. //第二种方法:arr1.length
    6. for (i = 0; i length; i++) {
    7. console.log(arr1[i]);
    8. }
    9. //取最大值
    10. var arr = [2, 6, 1, 77, 53, 35, 10];
    11. var max = arr[0];
    12. for (var i = 0; i < arr.length; i++) {
    13. if (arr[i] > max) {
    14. max = arr[i];
    15. }
    16. }
    17. console.log('最大值为:' + max)

    3、数组常用属性

    (1)数组反转-reverse

    1. var arr = [5, 2, 0, 1, 3, 1, 4];
    2. //数组的反转
    3. arr.reverse();
    4. console.log(arr)

    (2)数组排序-sort

    1. var arr = [5, 2, 0, 1, 3, 1, 4];
    2. arr.sort(function (a, b) {
    3. // return 10;//不变
    4. // return 0;//不变
    5. // return -10;//反过来
    6. // return a - b;//升序
    7. // return b - a;//降序
    8. })
    9. console.log(arr)

    (3)新增数组元素

    1. //1.新增数组元素-修改length长度
    2. var arr = ['hr', 'xh', 'hate']
    3. console.log(arr.length)
    4. arr.length = 5;
    5. console.log(arr)
    6. //2.修改索引号,追加数组元素
    7. arr[4] = 'pink';
    8. console.log(arr)
    9. arr[0] = 'blue';//这里是替换原来的数组元素
    10. console.log(arr);

    (4)冒泡排序

    1、外层for用于确定趟数

    2、里层for用于确定交换次数

    3、注意两个数据之间的交换,可采用中间值的方法

    1. var arr = [1, 3, 6, 9, 10, 23]
    2. for (var i = 0; i < arr.length - 1; i++) {
    3. for (var j = 0; j < arr.length - i - 1; j++) {
    4. if (arr[j] > arr[j + 1]) {
    5. var temp = arr[j];
    6. arr[j] = arr[j + 1];
    7. arr[j + 1] = temp;
    8. }
    9. }
    10. }
    11. console.log(arr)


    二、函数

    1、函数的概念

    函数:封装了一段可以被重复调用执行的代码块,可以通过此代码块实现大量代码的重复使用。

    封装:把一个或多个功能通过函数的方式封装起来,类似快递打包

    函数的使用:

    分为声明函数和调用函数

    语法格式:

    //声明函数
    function 函数名(){
        //函数体
    }
    //调用
    函数名()


    2、函数使用

    1. function 函数名(形参1, 形参2, ...) {
    2. //声明函数里的小括号是形参
    3. }
    4. //函数调用里的小括号为实参
    5. 函数名(实参1, 实参2, ....)
    6. //形参和实参执行过程
    7. function cook(aru) {
    8. console.log(aru);
    9. }
    10. cook('土豆');

    1、如果实参个数与形参个数一致,正常输出结果

    2、如果实参个数多于形参个数,会取到形参的个数

    3、如果实参个数小于形参个数,多于形参的定义为undefined,返回值为NaN


    3、函数的返回值

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

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

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

    (3)如果return后面还有其他的代码,都不会在执行了,遇到return了就表示代码结束了

    1. function getMax(num1, num2) {
    2. //三目运算符
    3. return num1 > num2 ? num1 : num2;
    4. console.log(111);
    5. }
    6. console.log(getMax(3, 9));

     (4)如果函数没有return则返回的是undefined

    1. function fn() {
    2. return 666;
    3. }
    4. console.log(fn());
    5. function fn1() {
    6. }
    7. console.log(fn1());

    4、break、continent和return的区别

    break:结束当前的循坏体(eg:for while)

    continue:跳出本次循环,继续执行下次循环(for while)

    return:不仅可以退出循环,也可以返回return语句中的值,同时可以结束当前的函数体内的代码

    5、argument说明

    # arguments
    所有函数都内置了一个 arguments 对象,存储了传递的所有实参。
    arguments是一个伪数组,可以进行遍历。伪数组具有以下特点:
     具有 length 属性
     按索引方式储存数据
     不具有数组的 push , pop 等方法
     

    1. function fn(){
    2. console.log(arguments)
    3. }
    4. fn(1,2)
    5. fn(1,2,3)
    6. //案列-求任意个数中的最大值
    7. function getMax() {
    8. var max = arguments[0];
    9. for (var i = 0; i < arguments.length; i++) {
    10. if (arguments[i] > max) {
    11. max = arguments[i];
    12. }
    13. }
    14. return max;
    15. }
    16. console.log(getMax(1, 4));
    17. console.log(getMax(1, 4, 8));
    18. console.log(getMax(1, 4, 8, 66, 100, 99));

     

  • 相关阅读:
    C++之红黑树
    时间序列预测 Graph-WaveNet:Graph WaveNet for Deep Spatial-Temporal Graph Modeling
    Google 代码审查指南
    HDU 6286 2018
    【数据库】组合查询 UNION
    教程二 在Go中使用Energy创建跨平台应用 - 创建应用
    【小米0923】二、循环去除连续重复元素 <栈>
    使用内网穿透实现公网VNC远程桌面Ubuntu
    产品周报第38期|阅读总数规则校验功能上线,热榜算法更新,付费问题退款支持原路返回……
    2022-09-09 mysql列存储引擎-POC-需求分析-第二版-有问题的SQL
  • 原文地址:https://blog.csdn.net/ywforever/article/details/126471282