zoukankan      html  css  js  c++  java
  • JavaScript系统学习小结——Object类型、Array类型

    今天学习JavaSript中引用变量中的Object类型和Array类型:

      1. Js中大多数引用类型值都是Object类型的实例,Object类型在应用程序中存储和传输数据时,是非常理想的选择;

    • 创建Object实例的方法有两种:
      • 一种是使用new操作符后跟Object构造函数;如下
        var person = new Object();
        
        person.name = "Jan";
        
        person.age =22;
        
      • 另一种是使用对象字面量表示法:
        var person = {
        
          name : “Jan”,
        
        age : 22
        
        };
        
      • 在开发中更多的使用的是对象字面量表示法,因为这种语法要求的代码量少,而且能够给人封装数据的感觉;
      • 对象字面量也是向函数传递大量可选参数的首选方式;
    • 在访问对象属性时,有两种方式:
      • 一种是点表示法:如(person.name)
      • 另一种是方括号表示法;如(person[“name”])如果属性名中包含导致语法错误的字符,或者属性名使用的是关键字或者保留字,适合使用方括号表示法;

      2. Array类型 

    • Js中的数组的每一项可以保存任何类型的数据;
    • 创建数组有两种方式:
      • 第一种使用Array构造函数,也可以省略new;
        var color = new Array();
        
      • 第二种基本方式是使用数字字面量表示法:
        var color = [‘red’,’ blue’];
        
    • 数组的length属性不是只读的,通过该属性,可以从数组的末尾移除项或向数组中添加新项;
    • 在检测数组类型时,Array.isArray()方法好用比instanceof操作符好用;Array.isArray()不考虑检测值是在哪个全局执行环境中创建的(网页中包含多个框架,存在多个不同的全局变量时);
    • 数组的转换方法有:toLocaleString(), toString(), valueOf()和join()方法;
      • 其中join()方法,是根据接收不同的参数作为分隔符来构建字符串;
      • 数组可以表现的像栈(后进先出),利用push()插入,pop()移除;
      • 数组可以表现的像队(先进先出),利用push()插入,shift()移除;
      • 数组可以模拟反方向的队,利用unshift()插入,pop()移除;
      • 数组的排序方法有:reverse(),sort()方法;
        • Reverse()方法会反转数组项的顺序;
        • Sort()方法比较的是字符串,按升序排列数组项;
        • Sort()方法可以接收一个比较函数作为参数,完善对其他基本数据类型的比较;
          function compare(val1, val2) {
              if(val1 > val2){
                  return -1;
              }else if(val1 < val2){
                  return 1;
              }else{
                  return 0;
              }
          }
          
    • 数组的操作方法有:concat()续接,slice()截取子串, splice()删插换方法;
    • 数组的位置查询方法有:indexOf(), lastIndexOf()方法,一个是从开头向后查找,一个是从尾部向前查找;
    • 数组的迭代方法有:every(), filter(), forEach(), map(), some();
      • Every()和some()方法类似,但前者是每一项都符合传参函数的检验才返回true,后者是只要有一项符合就返回true;
      • Filter()方法是返回在传参函数中为true的项组成的数组;
      • ForEach()和map()方法类似,forEach()没有返回值;
      • 数组的归并方法有:reduce(), reduceRight();这两个方法都会迭代数组的所有项,然后构建一个最终返回的值。不同的是,前者是从开头向最后一项,后者反之;
  • 相关阅读:
    maplestory【Lotus prequest】---2.3、bestow
    springboot拦截器过滤token,并返回结果及异常处理
    'axios' is not defined
    MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。
    VS Code(Visual Studio Code)
    学习CSS+HTML+JS到底用什么编辑器或IDE
    SpringBoot整合Mybatis完整详细版 入门资料
    Oracle 导出视图view中的数据
    oracle 时间 比较
    分子对接
  • 原文地址:https://www.cnblogs.com/hhccdf/p/6704179.html
Copyright © 2011-2022 走看看