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);

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

操作完成以后再将这个临时对象进行销毁。

Javascript 基础学习(七)常用内置对象的更多相关文章

  1. C#构造方法(函数) C#方法重载 C#字段和属性 MUI实现上拉加载和下拉刷新 SVN常用功能介绍(二) SVN常用功能介绍(一) ASP.NET常用内置对象之——Server sql server——子查询 C#接口 字符串的本质 AJAX原生JavaScript写法

    C#构造方法(函数)   一.概括 1.通常创建一个对象的方法如图: 通过  Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ...

  2. JavaScript常用内置对象(window、document、form对象)

    由于刚开始学习B/S编程,下面对各种脚本语言有一个宏观的简单认识. 脚本语言(JavaScript,Vbscript,JScript等)介于HTML和C,C++,Java,C#等编程语言之间.它的优势 ...

  3. 前端JavaScript(2) --常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍

    昨日内容回顾 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ...

  4. Unit05: JavaScript对象概述 、 常用内置对象一 、 常用内置对象二 、 常用内置对象三

    Unit05: JavaScript对象概述 . 常用内置对象一 . 常用内置对象二 . 常用内置对象三 常用内置对象使用演示: <!DOCTYPE html> <html> ...

  5. JavaScript 进阶 常用内置对象

    一.常用内置对象 所谓内置对象就是ECMAscript提供出来的一些对象,我们知道对象都是有相应的属性和方法 数组Arry 1.数组的创建方式 字面量方式创建(推荐使用,简单粗暴) var color ...

  6. python 全栈开发,Day51(常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍)

    昨日内容回顾 1.三种引入方式 1.行内js <div onclick = 'add(3,4)'></div> //声明一个函数 function add(a,b){ } 2. ...

  7. Java Script基础(五) 内置对象Date

    在JavaScript中,系统的内置对象有Date对象.Array对象.String对象和Math对象等. 1.Date:用于操作日期和时间. 2.Array:用于在单独的变量名中存储一系列的值. 3 ...

  8. 07-JavaScript之常用内置对象

    JavaScript之常用内置对象 1.数组Array 1.1数组的创建方式 // 直接创建数组 var colors = ['red', 'blue', 'green']; console.log( ...

  9. javaScript之分支判断与内置对象

    一,分支结构 单一选择结构(if) 二路选择结构(if/else) 内联三元运算符 ?: 多路选择结构(switch) 1.1  if 控制语句 if-else基本格式: if (表达式){ 语句1; ...

  10. request.setCharacterEncoding 和常用内置对象 跳转

    1.直接转码 new String(name.getBytes("ISO8859_1"),"GBK") 2. request.setCharactorEncod ...

随机推荐

  1. [bzoj1875] [洛谷P2151] [SDOI2009] HH去散步

    Description HH有个一成不变的习惯,喜欢饭后百步走.所谓百步走,就是散步,就是在一定的时间 内,走过一定的距离. 但 是同时HH又是个喜欢变化的人,所以他不会立刻沿着刚刚走来的路走回. 又 ...

  2. 客户端TNSPING通 连接出现ORA-12514错误

    ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务,这是一个经常遇到的问题,可以按照以下步骤一步步解决 1.使用tnsping检测 tnsping可判断出以下两点(1)判断网络 ...

  3. Mysql梳理-关于索引/引擎与锁

    前言 最近突发新型肺炎,本来只有七天的春节假期也因为各种封锁延长到了正月十五,在家实在闲的蛋疼便重新研究了一下Mysql数据库的相关知识,特此总结梳理一下.本文主要围绕以下几点进行: 1.Mysql的 ...

  4. Python中将变量按行写入txt文本中

    案例一: 讲数组a 循环写入名称为2.txt的文档中 # -*-coding:utf8-*- import requests from lxml import etree a=[1,2,3,4,5,6 ...

  5. DOM中的位置和大小(总结)

    [window]window对象 一.position位置 screenLeft/screenTop (适用于火狐和谷歌) screenX/screenY (适用于IE) 二.size大小 inner ...

  6. openresty http

    openresty http openresty默认没有提供http客户端,需要第三方提供插件. 下载方式: wget https://raw.githubusercontent.com/pintsi ...

  7. Jconsole或者VisualVM监控远程主机(阿里云,jdk11或者8)

    准备: 1 一个war包或者jar包,这里我用springboot的 2 linux环境,安装tomcat,jdk,我用的jdk11和tomcat9,jdk11和8的拷贝权限文件路径有点不一样,这个需 ...

  8. python+selenium爬取百度文库不能下载的word文档

    有些时候我们需要用到百度文库的某些文章时,却发现需要会员才能下载,很难受,其实我们可以通过爬虫的方式来获取到我们所需要的文本. 工具:python3.7+selenium+任意一款编辑器 前期准备:可 ...

  9. LUA解析json小demo

    需要修改的json数据gui-config.json { "configs": [{ "server": "JP3.ISS.TF", &qu ...

  10. cookie理解与实践【实现简单登录以及自动登录功能】

    cookie理解 Cookie是由W3C组织提出,最早由netscape社区发展的一种机制 http是无状态协议.当某次连接中数据提交完,连接会关闭,再次访问时,浏览器与服务器需要重新建立新的连接: ...