JavaScript的内置对象

更新日期: 2020-05-02阅读: 1.5k标签: 对象

内置对象:对象是由属性和方法组成的,使用点语法访问


一,array数组

1. 特点:

  • 数组用于存储若干数据,自动为每位数据分配下标,从0开始

  • 数组中的元素不限数据类型,长度可以动态调整

  • 动态操作数组元素 :根据元素下标读取或修改数组元素,arr[index]

2. 属性和方法:

属性 : length 表示数组长度,可读可写

方法 :

push(data) :在数组的末尾添加一个或多个元素,多个元素之间使用逗号隔开 返回添加之后的数组长度

pop() :移除末尾元素 ,返回被移除的元素

unshift(data) :在数组的头部添加一个或多个元素 ,返回添加之后的数组长度

shift() :移除数组的第一个元素 ,返回被移除的元素

splice():删除指定位置和长度的元素,返回被删除的元素

toString() :将数组转换成字符串类型, 返回字符串结果

join(param) :将数组转换成字符串,可以指定元素之间的连接符,如果参数省略,默认按照逗号连接 ,返回字符串

reverse() :反转数组,倒序重排 ,返回重排的数组,注意该方法直接修改原数组的结构

sort() :对数组中元素排序,默认按照Unicode编码升序排列 ,返回重排后的数组,直接修改原有数组 参数 : 可选,自定义排序算法

例:

//自定义升序
  function sortASC(a,b){
    return a-b;
  }

// 作用:作为参数传递到sort()中,会自动传入两个元素进行比较,如果a-b>0,交换元素的值,自定义升序排列

//自定义降序
  function sortDESC(a,b){
      return b-a;
  }
//如果返回值>0,交换元素的值,b-a表示降序排列

3.二维数组

数组中的每个元素又是数组

 var arr1 = [1,2,3];    //普通数组
 var arr2 = [[1,2],[3,4],[5,6,7]];    //二维数组,数组里面又包含数组

 arr2[0][0]
 arr2[0][1]
 arr2[1][0]
 arr2[1][1]
 arr2[2][0]
 arr2[2][1]
 //操作数组元素
 var r1 = arr2[0] //内层数组
 var num = r1[0]; //值 1
 //简写
 var num2 = arr2[1][0];

二,string对象

1. 创建

   var str = "100";
   var str2 = new String("hello");

2. 特点:字符串采用数组结构存储每位字符,自动为字符分配下标,从0开始

3. 属性:

length :获取字符串长度

4. 方法

1,转换字母大小写 :

toUpperCase() 转大写字母

toLowerCase() 转小写字母

返回转换后的字符串,不影响原始字符串

2,获取字符或字符编码:

charAt(index) 获取指定下标的字符

charCodeAt(index) 获取指定下标的字符编码

参数为指定的下标,可以省略,默认为0

3,获取指定字符的下标:

indexOf(str,fromIndex) 作用 : 获取指定字符的下标,,前向后查询,找到即返回

参数 : str 表示要查找的字符串,必填 fromIndex 表示起始下标,默认为0 返回 : 返回指定字符的下标,查找失败返回-1

lastIndexOf(str,fromIndex) 作用 : 获取指定字符最后一次出现的下标,从后向前查找,找到即返回

参数 : str 必填,表示要查找的内容 fromIndex 选填,指定起始下标

4,截取字符串

substring(startIndex,endIndex) 作用 : 根据指定的下标范围截取字符串,startIndex ~ endIndex-1

参数 : startIndex 表示起始下标 endIndex 表示结束下标,可以省略,省略表示截止末尾

substr(startIndex,len)

作用:根据下标截取指定的字符串

5,分割字符串

split(param) 作用 : 将字符串按照指定的字符进行分割,以数组形式返回分割结果

参数 : 指定分隔符,必须是字符串中存在的字符,如果字符串中不存在,分割失败,仍然返回数组

6,模式匹配

正则表达式对象:RegExp

RegExp : Regualr Expression

语法:

var reg1 = /微软/ig;
var reg2 = new RegExp('匹配模式','修饰符');
正则表达式对象可以接收一个变量。

属性 :

lastIndex : 可读可写,表示下一次匹配的起始索引
 注意 :
1,默认情况下,正则表达式对象不能重复调用方法,
如果重复调用,结果会出错: 由于 lastIndex 保存再一次匹配的起始下标,
重复调用时,不能保证每次都从下标0开始 验证,可以手动调整 lastIndex 为 0。

2,只有正则对象设置全局匹配 g ,该属性才起作用。

方法 :

方法:
test(str) :验证字符串中是否存在满足正则匹配模式的内容,存在则返回true,
不存在返回false参数为要验证的字符串。

作用 : 借助正则表达式实现字符串中固定格式内容的查找和替换
正则表达式 : var reg1 = /字符模式/修饰符; 
修饰符 : i : ignorecase 忽略大小写 g : global 全局范围 

字符串方法 :
match(regExp/subStr) 
作用 : 查找字符串中满足正则格式或满足指定字符串的内容 返回 : 数组,存放查找结果
replace(regExp/subStr,newStr) 
作用 : 根据正则表达式或字符串查找相关内容并进行替换 返回 : 替换后的字符串,不影响原始字符串。

三,Math对象

1. 定义:

Math对象主要提供一些列数学运算的方法

2. 属性:

属性:
圆周率 : Math.PI
自然对数 : Math.E

3. 方法:

Math.random(); 生成0-1之间的随机数
Math.ceil(x); 对x向上取整,忽略小数位,整数位+1
Math.floor(x); 对x向下取整,舍弃小数位,保留整数位
Math.round(x); 对x四舍五入取整数


四,日期对象

1. 创建日期对象

var date2 = new Date("2011/11/11");
var date3 = new Date("2011/11/11 11:11:11");

2. 日期对象方法

读取或设置当前时间的毫秒数:getTime()
获取时间分量
getFullYear()
getMonth()
getDate()

链接: https://www.fly63.com/article/detial/9233

JavaScript中创建对象的7种模式

ECMA-262把对象定义为:”无需属性的集合,其属性可以包含基本值、对象或者函数。对象的每个属性或方法都有一个名字,而每个名字都映射到一个值。正因为这样,我们可以把ECMAScript的对象想象成散列表:无非就是一组名对值,其中值可以是数据或函数。

JavaScript数组、对象合并的多种方法实现

这篇文章讲解Js数组和对象的一些使用技巧,如何将不同的数组,对象合并/结合为1个的方法

Js通过.或者[]访问对象属性的语法、性能等区别

在JavaScript中可以使用 . 或者 [ ] 来访问对象的属性,但是对象中方法只能通过 . 来获取;使用.运算符来存取对象的属性的值。或者使用[]作为一个关联数组来存取对象的属性。但是这两种方式有什么区别了?

js中关于for...in遍历对象属性的顺序问题

对象使用obj.length时,它得到的值是undefined的,所以只能通过for...in循环获取对象的属性,我们发现并没有按属性的顺序显示,而且顺序在各个浏览器下显示也不同。 这是为什么呢?

JS声明对象时属性名加引号与不加引号的问题

JS声明对象时属性名加引号与不加引号的问题,一般情况下属性名加引号和不加引号是都可以的,效果是一样的。如果属性名是数字,则必须用“”包围,并且用 [] 方括号访问。

javascript的本地对象,内置对象和宿主对象

javascript的原生对象:也叫内部对象、本地对象、native object;内置对象:Global(全局对象)、Math ;宿主对象:有宿主提供的对象,在浏览器中window对象以及其下边所有的子对象(如bom、dom等等),在node中是globla及其子对象,也包含自定义的类对象。

JavaScript 判断对象中是否有某属性

判断对象中是否有某属性的常见方式总结,不同的场景要使用不同的方式。一点( . )或者方括号( [ ] )、二in 运算符、三hasOwnProperty()。三种方式各有优缺点,不同的场景使用不同的方式,有时还需要结合使用

JavaScript Error对象详解

error,指程序中的非正常运行状态,在其他编程语言中称为“异常”或“错误”。解释器会为每个错误情形创建并抛出一个Error对象,其中包含错误的描述信息。

如何禁止JavaScript对象重写?

由于JavaScript的灵活性,我们可以轻易地重写(override)一些于其他人定义的对象(object)。换句话说,任何人都可以重写我们所定义的对象。这是一个非常强大的特性,许多开发者都有兴趣试试,来拓展或者修改某些对象的行为。

JavaScript面向对象编程中_优雅的类写法

虽然现在已经是ES6的时代,但是,还是有必要了解下ES5是怎么写一个类的。本文详述JavaScript面向对象编程中的类写法,并分步骤讲述如何写出优雅的类。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!