JavaScript内建对象总结(数组Array_日期Date_Math对象等)

.JavaScript数组

JavaScript的对象

内建对象

宿主对象

自定义对象

数组(Array)

数组也是对象(内建对象)

它和我们普通对象功能类似,也是用来存储一些值的

不同的是普通对象使用字符串作为属性名

而数组是使用数字来作为索引操作元素

索引:

从0开始的整数就是索引

数组的存储性能比普通对象要好,在开发中我们经常使用数组来存储一些数据

 

向数组中添加元素

语法:数组[索引] = 值

arr[0]=12;

arr[1]=34;

arr[2]=56;

arr[4]=67;

console.log(arr);

 

读取数组中的元素

语法:数组[索引]

如果读取不存在的索引,不会报错而是返回undefined

获取数组的长度,可以使用length这个属性获取

语法:数组.length 

对于连续的数组,使用length可以获取到数组的长度(元素的个数)

对于非连续的数组,使用length汇获取到数组的最大的(索引+1)

尽量不要创建非连续数组

 

修改length

如果修改的length大于原长度,则多出部分会空出来

如果修改的length小于原长度,则多出的部分会被删除

 

JavaScript数组字面量

创建一个数组

var arr=new Array();

 

使用字面量来创建数组

var arr1=[];

语法:[]

console.log(arr1);

使用字面量创建数组时,可以在创建时就指定数组中的元素

var arr2=[12,34,56,7,8,9,0,3,5];

console.log(arr2[2]);//56

console.log(arr2);

使用构造函数创建数组时,也可以同时添加元素,将要添加的元素作为构造函数 的参数传递,元素之间使用 ,隔开

var arr3=new Array(12,34,56,7,8,9,0,3,5);

console.log(arr3);

创建数组arr4,这个数组中只有一个元素10

var arr4=[10];

console.log(arr4);

创建一个长度为10的数组

var arr5=new Array(10);

console.log(arr5);

数组的值可以是任意的数据类型,包含对象的

var arr6=["hello",123,false,undefined,null];

console.log(arr6);

数组中可以存放函数

var arr7=[function(){alert(123);},function(){alert("helloworld");}];

console.log(arr7[0]);

arr7[0]();

二维数组

var arr8=[

[1,3,4,5],

[1,4,6,7]

];

console.log(arr8[1][2]);

 

JavaScript数组的方法

连接两个或更多的数组,并返回结果。

把数组的所有元素串联成一个字符串。元素通过指定的分隔符进行分隔

 

push()

该方法可以向数组的末尾添加一个或多个元素,并返回数组的新的长度

可以将要添加的元素作为方法的参数传递,这样这些元素将会自动添加到数 组的末尾

该方法会将数组新的长度作为返回值返回

 

pop()

该方法可以删除数组的最后一个元素,并将被删除的元素作为返回值返回

 

unshift()

向数组开头添加一个或多个元素,并返回新的数组长度

向前边插入元素以后,其他元素的索引会依次调整

 

shift()

可以删除数组的第一个元素,并将被删除的元素作为返回值返回

 

JavaScript数组的遍历

所谓的遍历数组,就是将数组中所有的元素都取出来

JavaScript数组的遍历foreach(拓展)

一般我们都是使用for循环去遍历数组,

JS中还为我们提供了一个方法,用来遍历数组

forEach()

这个方法只支持IE8以上的浏览器

IE8及以下的浏览器均不支持该方法,所以如果需要兼容IE8,则不 要使用forEach

如果考虑到兼容问题还是使用for循环

 

forEach()方法需要一个函数作为参数

像这种函数,由我们创建但是不由我们调用的,我们称为回调函数

数组中有几个元素函数就会执行几次,每次执行时,浏览器将会遍历到的元 素以实参的形式传递进来,我们可以来定义形参读取这些内容

浏览器会在回调函数中传递三个参数:

第一个参数,就是当前正在遍历的元素

第二个参数,就是当前正在遍历的元素的索引

第三个参数,就是正在遍历的数组

 

JavaScript函数的方法apply与call

call()与apply()

这两个方法都是函数对象的方法,需要通过函数对象来调用

当对函数调用call()和apply()都会去调用函数执行

在调用call()与apply()可以将一个对象指定为第一个参数

此时这个对象将会成为函数执行时的this

call()方法可以将实参在对象之后依次传递

apply() 方法需要将实参封装到一个数组中统一传递

 

this的总结:

1.以函数的形式调用时,this始终都是window对象

2.以方法的形式调用时,this就是调用方法的对象

3.以构造方法的形式调用时,this是新创建的那个对象

4.使用call与apply调用时,this是指定的那个对象

 

JavaScript_arguments

在调用函数时,浏览器每次都会传递进来两个隐含的参数:

1.函数的上下文对象 this

2.封装实参的对象arguments

arguments是一个类数组对象,它也可以通过索引来操作数组,也可以获 取长度

在调用函数时,我们所传递的实参都会在arguments中保存

arguments.length可以用来获取实参的长度

我们即使不定义形参,也可以通过arguments来使用实参,比较麻烦

arguments[0] 表示第一个实参

arguments[1] 表示第二个实参

它里面有一个属性叫做callee,

这个属性对应一个函数对象,就是当前正在执行的函数对象

 

JavaScript_Date对象

JavaScript 日期对象Date

Date对象(内建对象)

在JS中使用Date对象来表示一个时间

创建一个Date对象

如果时间使用构造函数创建一个Date对象,则会封装为当前代码执行的时间

 

创建一个指定的时间对象

需要在构造函数中传递一个表示时间的字符串作为参数

 

getDate() - 获取当前日期对象时几日

 

getDay() - 获取当前日期是星期几

 - 会返回一个0~6的值

  0 表示周日

1 表示周一

...

6 表示周六

 

getMonth() - 获取当前日期对象的月份

   - 会返回一个0~11的值

     0 表示 一月

 1 表示二月

 ...

 11 表示十二月

 

getFullYear() - 获取对象以四位数字返回年份

 

getTime()

- 获取当前日期对象的时间戳

- 时间戳,指的是从格林威治标准时间的1970年1月1日,0时0分0秒

到当前日期所花费的毫秒数(1秒=1000毫秒)

- 计算机底层在保存时间时使用都是时间戳

 

JavaScript_Math对象

Math对象和其他对象不同,它不是一个构造函数,

  它属于一个工具类不用创建对象,它里面封装了数学运算相关的属性和方法

例如:

Math.PI 表示圆周率(约等于3.14159)

 

Math.abs(x) - 返回一个数的绝对值

Math.sin(x) - 返回一个数的正弦

 

Math.ceil() - 可以对一个数进行向上取整,小数位只要有值就自动进1

Math.floor() - 可以对一个数进行向下取整,小数部分会被舍掉

Math.round() - 可以对一个数进行四舍五入取整

 

Math.random()

可以用来生成一个0-1之间的随机数

Math.random()

可以用来生成一个0-10之间的随机数(整数)

Math.round(Math.random()*10)

可以用来生成一个0-X之间的随机数(整数)

Math.round(Math.random()*X)

可以用来生成一个1-10之间的随机数(整数)

Math.round(Math.random()*9)+1

可以用来生成一个1-X之间的随机数(整数)

Math.round(Math.random()*(X-1))+1

可以用来生成一个Y-X之间的随机数(整数)

Math.round(Math.random()*(X-Y))+Y

 

JavaScript包装类

数据类型:

基本数据类型:String Number Boolean Null Undefined

引用数据类型:Object

在JS中为我们提供了三个包装类,通过这三个包装类可以将基本数据类型转换为 对象

String()

- 可以将基本数据类型字符串转换为String对象

Number()

- 可以将基本数据类型的数字转换为Number对象

Boolean()

- 可以将基本数据类型的布尔值转换为Boolean对象

但是请注意!!!

我们在实际应用中不会使用基本数据类型的对象,

如果我们使用基本数据类型的对象,在做一些比较的时候可能会带来一 些不可预期的结果。(看bool的例子)

 

包装类浏览器底层自己使用的

 

方法和属性只能添加给对象,不能添加给基本数据类型

当我们对一些基本数据类型的值去调用属性和方法时,浏览器会临时使用包装类 将其转换对象,然后在调用对象的属性和方法,调用完以后,再将其转换为基本 数据类型

将基本数据类型转换为Number对象,然后通过对象调用toString()方法

 

 

JavaScript_String对象

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

["h","e","l","l","o"....]

String 对象的属性length

 

charAt()

可以返回字符串中指定位置的字符

根据索引获取指定的字符

charCodeAt()

获取指定位置字符的字符编码(Unicode编码)

String.fromCharCode()

可以根据字符编码获取字符

indexOf()  

该方法可以检索一个字符串中是否含有指定内容

如果字符串中含有该内容,则会返回第一次出现的索引

如果没有找到指定的内容,则会返回-1

可以指定第二个参数。指定开始查找的位置

lastIndexof()

该方法的用法和indexOf()一样

不同的是indexOf是从前往后找,

而lastIndexof是从后往前找

也可以指定开始查找的位置

slice()

可以从字符串中截取指定的内容

不会影响到原字符串,而是截取到内容返回

参数说明:

第一个参数:开始位置的索引(包括开始位置)

第二个参数:结束位置的索引(不包括结束位置)

如果省略第二个参数,则会截取到后边所有的

也可以传递一个负数作为参数,负数的话将会从后边计算

substring()

可以用来截取只一个字符串,和slice()类似

参数说明:

第一个参数:开始位置的索引(包括开始位置)

第二个参数:结束位置的索引(不包括结束位置)

日过省略第二个参数,则会截取到后边所有的

不同的是这个方法不能接收负值,如果传递负值,则默认为0

如果第二个参数小于第一个参数,则自动调换位置

split() 很重要的方法

可以将一个字符串拆分称为一个数组

参数:

需要一个字符串作为参数,将会根据该字符串去拆分数组

toUpperCase()

将一个字符串转换为大写并返回

toLowerCase()

将一个字符串转换为小写并返回

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值