zoukankan      html  css  js  c++  java
  • Javascript 基础学习(七)常用内置对象

    Array

    定义

    数组也是一个对象,是一个用来存储数据的对象。和Object类似,但是它的存储效率比普通对象要高。数组中保存的内容我们称为元素。数组使用索引(index)来操作元素。索引指由0开始的整数。

    数组操作

    //创建数组
    var arr = new Array();//使用内置对象Array
    var arr2 = new Array(10);//表示创建一个长度为10 的数组
    var arr3 = [];
    var arr4 = [];//表示创建一个数组,数组中只有一个元素 10
    
    //向数组中添加元素
    //语法:数组对象[索引] = 值;
    arr[0] = 123;
    arr[1] = "hello";
    //创建数组时直接添加元素
    //语法:var arr = [元素1,元素2....元素N];
    var arr = [123,"hello",true,null];
    
    //获取和修改数组的长度
    //使用length属性来操作数组的长度
    //获取长度:数组.length。length获取到的是数组的最大索引+1
    //对于连续的数组,length获取到的就是数组中元素的个数
    //修改数组的长度:数组.length = 新长度。如果修改后的length大于原长度,则多出的部分会空出来。如果修改后的length小于原长度,则原数组中多出的元素会被删除
    //向数组的最后添加元素:数组[数组.length] = 值;
    

    方法

    • push()

      • 用来向数组的末尾添加一个或多个元素,并返回数组新的长度
      • 语法:数组.push(元素1,元素2,元素N)
    • pop()

      • 用来删除数组的最后一个元素,并返回被删除的元素
    • unshift()

      • 向数组的前边添加一个或多个元素,并返回数组的新的长度
    • shift()

      • 删除数组的前边的一个元素,并返回被删除的元素
    • slice()

      • 可以从一个数组中截取指定的元素
      • 该方法不会影响原数组,而是将截取到的内容封装为一个新的数组并返回
      • 参数:1.截取开始位置的索引(包括开始位置)。2.截取结束位置的索引(不包括结束位置)
      • 第二个参数可以省略不写,如果不写则一直截取到最后
      • 参数可以传递一个负值,如果是负值,则从后往前数
    • splice()

      • 可以用来删除数组中指定元素,并使用新的元素替换。该方法会将删除的元素封装到新数组中返回
      • 参数:1.删除开始位置的索引。2.删除的个数。3.第三个及以后,都是替换的元素,这些元素将会插入到开始位置索引的后边
    • concat()

      • 可以连接两个或多个数组,它不会影响原数组,而是新数组作为返回值返回
    • join()

      • 可以将一个数组转换为一个字符串
      • 参数: 需要一个字符串作为参数,这个字符串将会作为连接符来连接数组中的元素。如果不指定连接符则默认使用
    • reverse()

      • 可以用来反转一个数组,它会对原数组产生影响
    • sort()

      • 可以对一个数组中的内容进行排序,默认是按照Unicode编码进行排序,调用以后,会直接修改原数组。

      • 可以自己指定排序的规则,需要一个回调函数作为参数:

      • function(a,b){	
            //回调函数中需要定义两个形参
        	//使用哪个元素调用不确定,但是肯定的是在数组中a一定在b前边
        	//如果返回一个大于0的值,则元素会交换位置
        	//如果返回一个小于0的值,则元素不会交换位置
        	//如果返回一个等于0的值,则认为两个元素相等,不交换位置
        	//升序排列
        	//return a-b;
        	//降序排列
        	return b-a;
        }
        

    数组遍历

    遍历数组就是将数组中元素都获取到。一般情况我们都是使用for循环来遍历数组,也可以使用forEach()方法来遍历数组(不兼容IE8)

    数组.forEach(function(value , index , obj){
    	//在其中对三个参数做自己需要的操作
    });
    //forEach()方法需要一个回调函数作为参数(函数由我们创建但不由我们调用,称为回调函数)
    //数组中有几个元素,回调函数就会被调用几次,每次调用时,都会将遍历到的信息以实参的形式传递进来,
    //我们可以定义形参来获取这些信息。value:正在遍历的元素,index:正在遍历元素的索引,obj:被遍历对象
    

    Date

    定义

    日期的对象,在JS中通过Date对象来表示一个时间。如果直接使用构造函数创建一个Date对象,则会封装为当前代码的执行时间。

    创建对象

    //创建一个当前的时间对象
    var d = new Date();
    //创建一个指定的时间对象
    var d = new Date("月/日/年 时:分:秒");
    

    方法

    • getDate()

      • 当前日期对象是几日(1-31)
    • toLocaleString()

      • 转换成习惯的格式
    • getDay()

      • 返回当前日期对象时周几(0-6)
      • 0 周日
      • 1 周一 ...
    • getMonth()

      • 返回当前日期对象的月份(0-11)

      • 0 一月 1 二月 。。。

      • getFullYear()

        • 从 Date 对象以四位数字返回年份。
      • getHours()

        • 返回 Date 对象的小时 (0 ~ 23)。
      • getMinutes()

        • 返回 Date 对象的分钟 (0 ~ 59)。
      • getSeconds()

        • 返回 Date 对象的秒数 (0 ~ 59)。
      • getMilliseconds()
        -返回 Date 对象的毫秒(0 ~ 999)。

      • getTime()

        • 返回当前日期对象的时间戳
        • 时间戳,指的是从1970年月1日 0时0分0秒,到现在时间的毫秒数
          计算机底层保存时间都是以时间戳的形式保存的。
        • 应用场景:使用毫秒数处理缓存的效果(不有缓存)
      • Date.now()

        • 可以获取当前代码执行时的时间戳

    Math

    属于一个工具类,它不需要我们创建对象,它里边封装了属性运算相关的常量和方法。我们可以直接使用它来进行数学运算相关的操作

    方法

    • Math.PI
      • 常量,圆周率
    • Math.abs()
      • 绝对值运算
    • Math.ceil()
      • 向上取整
    • Math.floor()
      • 向下取整
    • Math.round()
      • 四舍五入取整
    • Math.random()
      • 生成一个0-1之间的随机数
      • 生成一个x-y之间的随机数
      • Math.round(Math.random()*(y-x)+x);
    • Math.pow(x,y)
      • 求x的y次幂
    • Math.sqrt()
      • 对一个数进行开方
    • Math.max()
      • 求多个数中最大值
    • Math.min()
      • 求多个数中的最小值

    String

    在底层字符串是以字符数组的形式保存

    方法

    • charAt()
      • 根据索引获取指定的字符
    • charCodeAt()
      • 根据索引获取指定的字符编码
    • String.fromCharCode()
      • 使用构造函数对象创建
      • 根据字符编码获取字符
      • 字符编码必须是十进制
      • concat()
        • 可以用来连接两个或多个字符串
      • indexOf()、lastIndexOf()
        • 该方法可以检索一个字符串中是否含有指定内容
        • 需要一个字符串作为参数,这个字符串就是要检索的内容,
          如果找到该内容,则会返回其第一次出现的索引,如果没有找到则返回-1。
        • 可以指定一个第二个参数,来表示开始查找的位置
    • indexOf()是从前向后找
    • lastIndexOf()是从后向前找
    • slice()
      • 可以从一个字符串中截取指定的内容,并将截取到内容返回,不会影响原变量
      • 参数:
        第一个:截取开始的位置(包括开始)
        第二个:截取结束的位置(不包括结束)
      • 可以省略第二个参数,如果省略则一直截取到最后
      • 可以传负数,如果是负数则从后往前数
    • substr()
      • 和slice()基本一致,不同的是它第二个参数不是索引,而是截取的数量
    • substring()
      • 和slice()基本一致,不同的是它不能接受负值作为参数,如果设置一个负值,则会自动修正为0,
        substring()中如果第二个参数小于第一个,自动调整位置
    • toLowerCase()
      • 将字符串转换为小写并返回
    • toUpperCase()
      • 将字符串转换为大写并返回
    • split()
      • 可以根据指定内容将一个字符串拆分为一个数组
      • 参数:
        • 需要一个字符串作为参数,将会根据字符串去拆分数组
          如果传递一个空串作为参数,则会将每个字符都拆分为数组中的一个元素
          可以接收一个正则表达式,此时会根据正则表达式去拆分数组
    • match()
      • 可以将字符串中和正则表达式匹配的内容提取出来,并封装到一个数组中返回
      • 默认情况下match只会找到第一个符合要求的内容,找到以后就停止检索
        我们可以设置正则表达式为全局匹配模式,这也就会匹配到所有的内容
    • replace()
      • 可以将字符串中指定内容替换为新的内容,默认只替换第一个
      • 参数:
        • 第一个:被替换的内容,可以是一个正则表达式,设置全局模式替换全部
        • 第二个:替换的新内容
    • search()
      • 可以搜索字符串中是否含有指定内容
      • 如果搜索到指定内容,则会返回第一次出现的索引,如果没有则返回-1
      • 可以根据正则表达式去字符串中查找指定的内容
      • 可以接受正则表达式,将会根据该表达式查询内容

    包装类

    在JS中为我们提供了三个包装类:String() Boolean() Number()

    通过这三个包装类可以创建基本数据类型的对象

    var num = new Number(2);
    var str = new String("hello");
    var bool = new Boolean(true);
    

    但是在实际应用中千万不要这么干,因为如果使用基本数据类型的对象,在做比较操作时可能会出现错误。当我们去操作一个基本数据类型的属性和方法时,解析器会临时将其转换为对应的包装类,然后再去操作属性和方法,
    操作完成以后再将这个临时对象进行销毁。

  • 相关阅读:
    Flask_之使用过程中出现的异常
    GO-学习之golang 自动下载所有依赖包
    数据库-Oracle如何将clob数据以字符串打印出来
    数据库-Oracle条件判断语句
    python框架Django汇总
    每日一模块_os及subprocess模块【执行系统命令】
    每日一模块-sftp的使用
    python并发编程-队列MQ的学习
    python高效配置-响应code枚举类设计
    git-使用大全
  • 原文地址:https://www.cnblogs.com/Yee-Q/p/12327563.html
Copyright © 2011-2022 走看看