内置对象总结

内置对象介绍

 
 
 
 
 
JavaScript组成:   ECMAScript  |   DOM   |  BOM
ECMAScript:  变量 函数, 数据类型 ,流程控制,内置对象。。。
js中的对象: 自定义对象 内置对象 浏览器对象(不属于ECMAScript)
Math对象,Array对象,Date对象。。。。
 
通过查文档学习内置对象   MDN  (https://developer.mozilla.org/zh-CN/docs/Web/JavaScript)
 

Array对象

 
 
 
 
 
数组: 可以一次保存多条数据, 数组也是一个用来保存数据的容器。
数组的类型:   Array   Array.prototype
伪数组的类型: Object   Object.prototype
相同点:都可以通过索引获取数据,都有length获取长度
不同点:伪数组 数组的类型不一样,伪数组无法调用数组中的方法。
 

Array属性

 
 
 
 
 
获取函数的名字
var arr = [];
console.log(arr.constructor.name);
 

Array方法

map()方法

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

map() 方法按照原始数组元素顺序依次处理元素。

注意: map循环是不可以跳出的 map函数中return的对象会组成一个新的数组

新数组长度一定和原数组相等

注意: map() 不会对空数组进行检测。

注意: map() 不会改变原始数组。

 
 
 
 
 
语法:
array.map(function(currentValue,index,arr), thisValue)
参数:
    currentValue    必须。当前元素的值
    index   可选。当前元素的索引值
    arr 可选。当前元素属于的数组对象
    thisValue  可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。
    如果省略了 thisValue,或者传入 null、undefined,那么回调函数的 this 为全局对象。
    
    返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
 

filter()方法

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

注意: filter() 不会对空数组进行检测。

注意: filter() 不会改变原始数组。

 
 
 
 
 
array.filter(function(currentValue,index,arr), thisValue)
参数同map()方法
返回数组,包含了符合条件的所有元素。如果没有符合条件的元素则返回空数组。
 

sort()方法

排序顺序可以是字母或数字,并按升序或降序。

默认排序顺序为按字母升序。40会排在5前面,除非传参

数组在原数组上进行排序,不生成新数组

注意: 这种方法会改变原始数组!。

 
 
 
 
 
语法:
    array.sort(fn)   //可选。规定排序顺序。必须是函数。
    function fn (a,b) {return b-a;}   //a-b为升序,b-a为降序
 

pop()方法和shift()方法

pop() 方法用于删除数组的最后一个元素并返回删除的元素

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

注意:pop()方法和shift()方法改变数组的长度!

 
 
 
 
 
ary.pop()
ary.shift()
 

push方法和unshift() 方法

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

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

注意: push方法将新元素将添加在数组的末尾。

注意: unshift() 方法方法将新元素将添加在数组的开头。

注意: push方法和unshift() 方法改变数组的长度。

 
 
 
 
 
var b = array.push(item1, item2, ..., itemX) //该方法有一个返回值,表示数组最新的长度  console,log(b)输出返回
array.unshift(item1,item2, ..., itemX)
 

join() 方法

join() 方法用于把数组中的所有元素转换一个字符串。

 
 
 
 
 
array.join([separator])  //  可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
 

indexOf() 方法和lastIndexOf()

数组与字符串用法一样

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。Number类型

如果没有找到匹配的字符串则返回 -1。

注意: indexOf() 方法区分大小写。

返回值:查找指定字符串第一次出现的位置,如果没找到匹配的字符串则返回 -1。

 
 
 
 
 
string.indexOf(searchvalue,[start])  //searchvalue 规定需检索的字符串值。
//start  规定在字符串中开始检索的位置
 

其他方法

 
 
 
 
 
var ary = []
ary.valueOf()  //  valueOf() 方法返回 Array 对象的原始值。
ary.toString()  //  把数组转换为字符串,使用逗号分隔
ary.reverse()  // 翻转数组  该方法会改变原来的数组,而不会创建新的数组。
 

Math对象

Math方法

 
 
 
 
 
Math.PI          获取圆周率【属性】 
Math.random()    返回大于等于0小于1之间的随机数
Math.floor()   向下取整,返回一个小于当前数字的整数
Math.ceil()        向上取整,返回一个大于当前数字的整数
Math.round()     四舍五入
 Math.abs()         取绝对值(返回当前数字的绝对值,正整数)
Math.max()       返回一组数中的最大值 (可以设置多个参数,返回其中最大值,参数不可以是数组)
Math.min()       返回一组数中的最小值 (可以同时设置多个参数,与最大值效果一样)
Math.sin(x)        返回一个正弦的三角函数 ( 注意: x 是一个以弧度为单位的角度)
Math.cos(x)        返回一个余弦的三角函数 (注意: x 参数是一个以弧度为单位的角度)
 

Date对象

 
 
 
 
 
Date是一个构造函数,必须通过 new Date() 创建一个实例成员才能使用
用法一:空构造函数
   var d = new Date();
   ☞GMT 格林威治时间(0时区)
用法二:在构造函数中传入毫秒值
   var d = new Date(d.valueOf());
用法三: 传入日期格式的字符串
  var  d = new Date("1988-8-8")
  
用法四: 传入数字
  var  d = new Date(year, month[,day,time,second]);  //必须设置年和月
  备注: 月份从0 开始, 0 代表1月
  
获取当前时间的毫秒值:
    d.valueOf()  
    d.getTime()  // 推荐使用
    Date.now()   //H5 新方法 有兼容信息
 

Date方法

 
 
 
 
 
日期格式化方法
var d = new Date();
    d.toString();  //转化成字符串
    d.toDateString();  //转换成日期字符串
    d.toTimeString();  //转换成时间字符串
    d.toLocaleDateString();   //返回本地的日期格式  (不同浏览器不同效果)
    d.toLocaleTimeString();   //返回本地的时间格式  (不同浏览器不同效果)
获取日期其他部分
    d.getSeconds()  //获取秒
    d.getMinutes()  //获取分钟
    d.getHours()    //获取小时
    d.getDay()      //返回周几   (0表示周日)
    d.getDate()     //返回当前月的第几天
    d.getMonth()    //返回月份   (从0开始)
    d.getFullYear()  //返回年份
 

string对象

string方法

字符串特性

 
 
 
 
 
不可变性,定义一个变量再次赋值会重新开辟空间
注意: 在程序中不要大量的拼接字符串
 

charAt() 方法

 
 
 
 
 
1. charAt(index)        //获取指定位置处的字符
2. str[index]          //获取指定位置的字符 (H5中的方法)
 

concat() 方法

concat() 方法用于连接两个或多个字符串。

该方法没有改变原有字符串,但是会返回连接两个或多个字符串新字符串

 
 
 
 
 
string.concat(string1, string2, ..., stringX)
 

substr() 方法

substr() 方法可在字符串中抽取从* 开始* 下标开始的指定数目的字符。

提示: substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。

注意: substr() 方法不会改变源字符串。

 
 
 
 
 
string.substr(start,length)
start:要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
 

substring() 方法

substring() 方法用于提取字符串中介于两个指定下标之间的字符。

 
 
 
 
 
substring(start,[end])   //从指定位置开始,截取字符串到结束位置, end值取不到
如果省略end,那么返回的子串会一直到字符串的结尾。
 

slice() 方法

slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

 
 
 
 
 
string.slice(start,end) //从指定位置开始,截取字符串到结束位置, end值取不到
如果省略end,那么返回的子串会一直到字符串的结尾。
 

replace() 方法

返回新字符串

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

 
 
 
 
 
string.replace(searchvalue,newvalue)
只替换找到的第一个
str.replace(/searchvalue/g,"red");  //替换全局
 

split() 方法

split() 方法用于把一个字符串分割成字符串数组。

提示: 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

注意: split() 方法不改变原始字符串。返回一个字符串数组

 
 
 
 
 
string.split(separator,[limit])
separator:可选。字符串或正则表达式,从该参数指定的地方分割 string Object。
limit:可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
 

trim() 方法

trim() 方法用于删除字符串的头尾空格。

trim() 方法不会改变原始字符串。

转换大小写

 
 
 
 
 
toLocaleLowerCase()  //转化为小写
toLocaleUpperCase()  //转化为大写
 
原文地址:https://www.cnblogs.com/bgd150809324/p/11383482.html