zoukankan      html  css  js  c++  java
  • javascript 红宝书笔记之如何使用对象 如何操作数组

    对象定义  ===  引用类型,描述的是一类对象所具有的属性和方法
     
     
    • 新对象的创建 方法
       
    new + 构造函数       var person = new Object();
    对象字面量表示       var person = {};                    
     
    备注:  新对象的创建方法,大多采用对象字面量的创建方法,这种方法能够给人封装数据的感觉。实际上,对象字面量也是向函数传递大量可选数据的首选 方式。
     
    • 访问对象属性 方法
     
    访问对象属性使用的都是 点 表示法:     console.log(person.name);        
    访问对象属性还可以使用 方括号 表示法:      console.log(serson["name"]);
     
    备注:  方括号访问对象,主要优点是可以通过变量来访问属性。建议使用 点 表示法来访问对象。
     
    • 给对象添加属性
     
    给对象添加属性的方法:通过为对象赋值,向巳有对象添加新属性。
     
    var person = {};
    person.lastName = "chen";
    person.age = "56";
     
    lastName,age   这些就是对象的属性,通过给这些属性赋值,理解向巳有的对象添加新属性。
     
    •  操作对象的方法
     
    循环遍历对象的属性: for...in 语句
     
    for(对象中的某个变量 in 对象名称){要执行的代码}
     
    var person = {list:{name: "kevin", age: 56},{name: "page", age: 26}};
    var x;
    var txt = "";
     
    for(x in person){
         txt += person[x];
    }
     
    console.log(txt);   
     
    • 废除对象的方法
     
    把对象的值,设为null。可以强制的把对象废除,null为一个空的对象。
    每用完一个对象后,就将其废除,释放对象。这里的废除只是这个对象只有一个引用的时候,如果有多个引用,要小心的操作,因为这样会把所有的引用都设为null;
     
     
     
    • 数组的创建 方法
     
    new + 构造函数         var sum = new Array();
    省略new               var sum = Array();
    数组字面量表示        var sum = [];
     
    • 数组在创建中 赋值
     
    var sum = new Array(10);                         //lenght 值为10的数组  
    var sum = new Array("10");                       //创建一个字符串数组    
    var sum = Array("red", "blue", "green");         //创建3个字符串的数组  
    var sum = [];                                    //创建一个空数组       
    var sum = [1,2];                                 //不允许这样创建数组  
    var sum = [,,,,,,,,];                            //不允许这样创建数组 
     
    • 读取数组
     
    console.log(sum[0]);                              //读取数组sum数组中第一个值,方括号中的数字是要访问的值
     
    • 检测数组
     
    Array.isArray()                                   //这个方法的目的是最终确定某个值到底是不是数组
     
    if(sum.isArray(value)){
         //对数组进行操作...
    }
     
    • 数组转换方法
     
    toString();                                       //以字符串的形式,返回数组中的每个值
    valueOf();                                           //返回的还是数组
    join('|');                                       //将返回的数组以 | 分隔,如果不给这个方法传递任何值,则以逗号分隔
     
    var color = ['red', 'green', 'black'];            
    console.log(color.toString());                    //red,green,black
    console.log(color.valueOf());                     //[red,green,black]
    console.log(color.join('|'));                     //red | green | black
     
    • 数组默认的方法,操作数组的值
     
    1. push()                                      //可以接收任意参数,将参数添加到数组的末尾;
    2. pop()                                          //从数组的末尾移除最后一项,返回移除的项;
    3. reverse()                                      //重排序方法
    4. sort()                                     //排序方法
              var values = [0,5,12,2,4];
              function bijiao(value1, value2){        //比较函数
                   if(value1 < value2){
                       return -1; 
                   }else if(value1 > value2){
                        return 1;
                   }else{
                        return 0;
                   }
              }
              values.sort(bijiao);                    //给排序方法传入比较函数,返回的值为:0,2,4,5,12
    1. slice(起始位置,结束位置)                    //用于删除、插入、替换
              var values = [0,5,12,2,4];
              var num1 = values.slice(0,2);           //删除数组中的前两项,要删除的第一项的位置和要删除的项数
              console.log(num1);                      //12,2,4
    1. concat()                                    //用于连接两个或多个数组返回一个数组副本
              var num = [2,3];
              console.log(num.concat(4,5));            //2,3,4,5
     
    • 数组的迭代方法
     
    每个数组有 5 个迭代方法。
    每个方法接收 2 个参数:传入的函数、该函数的作用域的对象 this 的值。
    传入的函数接收 3 个参数:数组的值(item)、该项在数组中的位置(index)、数组对象本身(array)。
     
    以下是所有的方法以及作用:
    • every() 和 some()  这两个方法都是用于查询数组中的项是否满足某个条件。它们唯一的区别是:
              every(函数参数)  这个函数参数必须对每一项都返回true,这个方法才会返回true;
              some(函数参数)   这个函数参数对某一项为true,这个方法就是true;
     
    • filter(函数参数)    这个函数参数对某一项返回为true,返回为true的这一项的数组
    • forEech(函数参数)   这个方法没有返回值
    • map(函数参数)       返回每次函数调用的结果而组成的新的数组   
        
    var num = [1,2,4,5,8,6,2,1];
    var mapResult = num.map(function(item,index,array){               //map的 参数是一个函数,这个函数接收3个参数,分别是item,index,array
         return (item > 2);                                           //运行函数的条件
    });
     
    console.log(mapResult);          //4,5,8,6                        返回调用这个函数的结果而组成的新的数组;
     
     
    • 遍历数组
     
    JS遍历数组的方法有两种:
     
    • for 循环
         var num = [5,15,6];
         for(var i = 0; i < num.length; i++){
              console.log(num[i] + ",");                          //5,15,6
         }
    • for...in  
         var num = [5,15,6];
         for(var i in num){
              console.log(num[i] + ",");                           //5,15,6
         }
  • 相关阅读:
    Discuz!如何设置板块主题分类
    Discuz X2.5 模板目录结构注释说明
    帖子标题颜色-----高亮
    discuz收听
    Discuz伪静态导致 除了首页,其他访问不了
    tag标签划过
    如何取消在线会员右边的下拉菜单,看图
    discuz邮件设置
    2017 ACM/ICPC Asia Regional Qingdao Online
    HDU 5769 Substring 后缀数组
  • 原文地址:https://www.cnblogs.com/baiyygynui/p/5555143.html
Copyright © 2011-2022 走看看