美文网首页
今天是我在乐字节学习的第17天

今天是我在乐字节学习的第17天

作者: 乐学小乐 | 来源:发表于2020-11-17 15:34 被阅读0次

    今天是我在乐字节教育学习的第17天,今天主要学习的内容是JavaScript基础语法之数组和函数

    数组

    ​ 数组是按次序排列的一组数据,每个值的位置都有编号(从0开始),整个数组用方括号表示。

    数组定义

    ​ JS 中定义数组的三种方式如下(也可先声明再赋值):

    var arr = [值1,值2,值3];  // 隐式创建
    
    var arr = new Array(值1,值2,值3); // 直接实例化
    
    var arr = new Array(size); // 创建数组并指定长度
    
    

    基本操作

    ​ 数组的长度可以通过length属性来获取,并可以任意更改

    数组名.length
    数组名.length = 新长度 
    
    

    ​ 数组中的每一个元素都可以被访问和修改,甚至是不存在的元素,无所谓越界

    数组名[下标]
    数组名[下标] = 新值
    
    

    数组遍历

    ​ 数组的遍历即依次访问数组的每一个元素 ,JS提供三种遍历数组的方式:

    普通的for循环遍历
    for(var i=0; i<=数组.length-1; i++){
    
    }
    如:
    for(var idx=0;idx<arr.length;idx++){
        console.log(arr[idx]);
    }
    
    
    for … in
    for(var 下标(名称任意) in 数组名){ 
        数组名[下标]是获取元素
    } // 下标(名称任意)
    如:
    for(var idx in arr){
        console.log(arr[idx]);
    }
    
    
    forEach
    数组名.forEach(function(element,index){
        // element(名称任意):元素,index(名称任意):下标
    })    
    如:
    arr.forEach(function(elem,idx){
        console.log(idx + "-->" + elem);
    });
    
    
    了解
    数组在使用的时候建议大家规矩来用。在存放数据时,从下标0开始顺序的存放数组元素。
    如果下标:
        1.为非负整数(包括整数字符串):自动从0开始,不存在添加 undefined
        2.为负数、小数、非数字符串:这些内容不计算在长度内,当成"属性"处理,相当于自定义属性。
    
    数组非常灵活,使用数组元素
        1.下标: 非负整数(包括整数字符串): 
            数组.下标
            数组[下标]
        2.下标:负数、小数、非数字字符串:
            数组[属性]
    
    * for --> 不遍历属性
    * foreach -->不遍历属性和索引中的undefined
    * for in -->不遍历索引中的undefined
    
    

    数组提供的操作方法

    ​ Array对象为我们提供了一些方法,可以很方便地操作数组

    push          添加元素到最后 
    unshift       添加元素到最前 
    pop           删除最后一项 
    shift         删除第一项 
    reverse       数组翻转 
    join          数组转成字符串 
    indexOf       数组元素索引 
    slice         截取(切片)数组,原数组不发生变化 
    splice        剪接数组,原数组变化,可以实现前后删除效果 
    concat        数组合并
    
    
    var arr = ['1','a',5,'3'];
    console.log(arr);
    arr.push(10);
    console.log(arr);
    arr.unshift('b');
    console.log(arr);
    arr.pop();
    console.log(arr);
    arr.shift();
    console.log(arr);
    arr.reverse();
    console.log(arr);
    console.log(arr.join('\''));
    console.log(arr);
    console.log(arr.indexOf('a'));
    console.log(arr.slice(2,5));
    console.log(arr);
    arr.splice(1,1,'一','二');
    console.log(arr);
    var arr1 = [0,'100'];
    console.log(arr.concat(arr1));
    console.log(arr);
    console.log(arr1);
    console.log(arr1.(arr));
    
    

    函数

    ​ 函数,即方法。就是一段预先设置的功能代码块,可以反复调用,根据输入参数的不同,返回不同的值。函数也是对象。

    函数的定义

    ​ 有三种函数定义的方式:函数声明语句、函数定义表达式、Function构造函数

    函数声明语句
    function 函数名([参数列表]){
    
    }
    例如:
    function foo(){ 
        console.log(1);
    } 
    foo(); 
    
    

    ​ 该种方式定义的函数具有声明提升的效果

    foo();   
    function foo(){ 
            console.log(1);
    } 
    // 变量声明提升
    console.log( a );  
    var a = 2;
    
    
    函数定义表达式

    ​ 以表达式方式定义的函数,函数的名称是可以不需要的

    var 变量名 = function ([参数列表]) {
    
    }
    变量名();
    例如:
    var fun = function(){
        console.log("Hello");
    }
    fun();
    
    

    ​ 这种写法将一个匿名函数赋值给变量。这时,这个匿名函数又称函数表达式,因为赋值语句的等号右侧只能放表达式。

    Function构造函数

    ​ Function构造函数接收任意数量的参数,但最后一个参数始终都被看成是函数体,而前面的参数则列举出了新函数的参数。

    var add = new Function('x','y','return (x + y)');
    // 等同于
    function add(x, y) {
        return (x + y);
    }
    add();
    
    

    注意:

    1\. js中的函数没有重载,同名的函数,会被后面的函数覆盖。
    2\. js中允许有不定数目的参数,后面介绍arguments对象
    
    

    时间过得真快,今天的学习时间已经接近了尾声,今晚好好睡觉休息,准备好明天的学习吧!

    相关文章

      网友评论

          本文标题:今天是我在乐字节学习的第17天

          本文链接:https://www.haomeiwen.com/subject/rgclbktx.html