• JavaScript学习-js中的数组/Boolean类/字符串String类


    JavaScript学习

     

    【js中的数组】
     
    1、数组的概念:是在内存中连续储存对个有序元素的结构
    元素的顺序称为下标,通过下标查找对象元素。
    2、数组的声明
    ① 字面量声明:var arr1 = [];
    js中,同一数组,可以储存多种不同的数据类型:
    例如: var arr1 = [1,"2",true,{"name":"hahhah"},[1,2]]
    ② new关键字声明: var arr2 = new Arry(参数)
    >>>参数可以为
    a.为空:声明一个,没有指定长度的数组;
    b.数组的length:声明一个指定长度的数组,但是数组的长度随时可变可追加;最大长度为0~(2^32-1);
    c.数组默认的N个值: new Array(1,"2",ture);相当于[1,"2",ture]
     
    3、数组中元素的读写/增删
    ① 读写:通过下标来访问元素,例如arr[2];
    ② 增删:delete arr[n];删除数组的第N+1个值,但数组长度不变,对应位置值为Undefined
    arr.push(值);数组最后增加一个值,相当于arr3[arr3.length] = 值;
    arr.unshift(值);数组的第0位插入一个值,其余位数顺延;
    arr.pop9();删除数组最后一位,与delete不同的是,pop执行后数组长度也会减少一个;相当于Arr3.length-1;
    arr.shift(值);删除数组的第0位,长度也会减一;
     
    4、数组中其他常用方法
    ①join('分隔符');将数组用制定分隔符分隔,链接为字符串。参数为空时,默认用逗号分隔;
    ②concat();(原数组不被改变)将数组,与多个数组的值链接为新的数组;
    [1,2].concat([3,4],[5,6])=[1,2,3,4,5,6]; 链接时,中括号至多拆一层;
    [1,2].concat([1,2,[3,4]])=[1,2,1,2,[3,4]];多层中括号,以二维数组形式存在
    ③push():数组最后增加数;unshift():数组开始增加一个数【返回数组新的长度】
    pop():删除数组最后一个;shift():删除数组第一个【返回被删除的值】
    【调用上述方法,原数组均被改变】
    ④recerse(): 【原数组被改变】数组翻转,逆序排列。
    ⑤slice(begin,end):【原数组不会被改变】 截取数组中的某一部分,成为新数组
    >>>传递一个参数:默认为begin index,当这个开始,截到最后一个;
    >>>传递两个参数:截取从begin到end区间,左闭右开(包括begin,不含end)
    >>>参数可以为负数,-1表示最后一个;
    ⑥sort(function):【原数组会被改变】对数组进行排序;
    >>>不指定排序函数:按照数值的ascii码值进行排列;
    >>>传入排序函数:默认两个参数a,b,如果返回值>0,则a>b;反之返回值<0,则a<b
    var arr7 = [7,8,10,13,1,6,99]
    arr7.sort(function(a,b){
    return a-b; //b在前,a在后(升序排列)
    //return b-a;//a在前,b在后(降序排列)
    });
    console.log(arr7);
    ⑦indexOf(value,index):返回数组中第一个value值对应的下标位置,若未找到,返回-1
    lastIndexOf(value,index):返回最后一个value值对应的下标位置。
    >>>若未指定index参数:默认在数组所有元素中查询;
    若指定index参数:则从当前index开始,向后查询;
     
    5、二维数组&稀疏数组(了解):
    ①稀疏数组:数组并不含有从0开始到length-1的所有所有索引(length值比实际元素个数多);
    ②二维数组:var arr = [[1,2],[3,4],[5,6]];//相当于三行两列的矩阵
    取出二维数组元素: arr[行号][列号];//可使用嵌套循环遍历
     
    6、引用数据类型&基本数据类型:
    引用数据类型;(数组/对象)赋值时,是将原变量的地址,赋给新变量。两个变 量,实际上操作的是同一份数据,所以,修改其中一个变量,另一个跟着变化;
    基本数据类型:赋值时,是将来变量的值,赋值给新的变量。两个变量,还属于不同的内存空间,修改其中一个,互不干扰。
     
     
     
     
     
     
    【Boolean类】
    var intrue = true; //单纯的变量
    var inTrue1 = new Boolean(true);//一个Boolean类型的对象
     
    Number类
    • Number.MIN_VALUE 可表示的最小数
    • Number.MAX_VALUE 可表示的最大数
    • .toString():将数字转为字符串 相当于 num+""
    • .toLocaleString():将数字按照本地格式的顺序转为字符串。一般,三个一组加逗号。
    • .valueOf():返回Number对象的基本数字值
    • .toFixed(n):将数字转为字符串,保留n位小数,四舍五入。
    • .toPrecision(n):将数字格式化为指定长度,n=不含小食店的所有位数和
     
    eg:
    var num = 1; //单纯的变量
    var num1 = new Number(2);//一个Numbor类型的对象
     
    console.log(num1);
     
         
     
    【字符串String类】
    1、属性:str.length 返回字符串的长度;
    2、方法
    .toLowerCase() 所有字符串转为小写;
    .toUpperCase() 所有字符串转为大写;
    .charAt(n) 截取字符串中第n个字符;
    .indexOf("查询字串",index) 查询从index开始的,第一个字串的索引。没找到返回-1,同数组的indexOf()方法;
    .substring(begin,end) 截取字串
    >>>传递一个参数:默认为begin index,当这个开始,截到最后一个;
    >>>传递两个参数:截取从begin到end区间,左闭右开(包括begin,不含end)
    >>>参数可以为负数,-1表示最后一个;
    .replace("old","new")将字符串中,第一个old,替换为new。
    第一个参数可以为普通字符串,也可以为正则表达式(普通字符串将只匹配第一个,正则表达式则更具具体情况区分)
    .split("") 将字符串,通过 指定分隔符 分为数组。 0
  • 相关阅读:
    JavaFX 1.2 SDK 发布,增加 Linux 及 OpenSolaris 支持
    JSF 2.0 通过最终投票
    NetBeans 时事通讯(刊号 # 57 May 27, 2009)
    “C语言” 读书札记(六)之[Linux下C语言编程环境Make命令和Makefile] 川山甲 博客园
    [转]宽字符的介绍
    【语法回顾】C++STL:string类型 ATP_ 博客园
    Using the C/C++ Garbage Collection Library, libgc
    Makefile学习笔记 我的CPP之路 C++博客
    伍迷创意随想集 之 杯具拥有个性,个性成就杯具 伍迷 博客园
    知哈希算法——找出相似的图片
  • 原文地址:https://www.cnblogs.com/zhuanzhibukaixin/p/6747635.html
Copyright © 2020-2023  润新知