js (ECMAScript) 对数据处理的 方法、属性总结

注意:原生类型的数据本身是没有属性、方法的。但是 有的原始类型(如 string),当他 调用属性或方法时,JS引擎会先对原始类型数据进行包装(即隐式的转换为相应的对象)  https://www.cnblogs.com/websir/p/5192095.html

一、数字(整型不会隐式转换成对象,需要自己手动通过 new Number(123)  转换成 Number对象;浮点型数据 会 隐式转化http://www.runoob.com/jsref/jsref-obj-number.html

属性:

constructor、prototype    ----   【这两个属性所有的对象都有,下面的就不写了】

方法:(es6及以上的方法属性,字体设为 青色

toFixed【转换为有小数点的字符串】、toString

不常用:sFinite、toExponential(x)【转化为 指数 计算法】、toPrecision(x)【
转化为 类似指数计算法的指定长度数据】、valueOf()、isInteger【判断给定的参数是否为整数】、isSafeInteger【判断参数值是否是一个"安全整数"】

二、字符串(会隐式转换成对象) :http://www.runoob.com/jsref/jsref-obj-string.html

属性:

length

方法:

indexOf、lastIndexOf、replace【某些字符替换另一些字符】、toUpperCase【大小写转换】、toLowerCase、split【转为数组】、charAt【指定位置的字符】、charCodeAt【指定位置字符的Unicode码】、includes【是否包含指定字符串】、match【匹配】、
search【类似indexOf,查找匹配字符串的下标】、slice【截取指定下标位置的字符串】、substr【截取指定长度的字符串】、substring【这个功能和
slice类似】、trim【去除字符串两边的空白】、

不常用:
concat【字符串拼接,一般用+号】、fromCharCode、lastIndexOf、repeat、startsWith、toLocaleLowerCase、toLocaleUpperCase、valueOf、toString

三、正则表达式   http://www.runoob.com/jsref/jsref-obj-regexp.html

属性:

global【是否设置g修饰符】、ignoreCase、multiline、lastIndex【规定下次匹配的起始位置】、source【返回正则表达式的匹配模式】

方法:

exec【检索字符串中指定的值 的 位置】、test【检索字符串中指定的值】

不常用:toString

四、数组   http://www.runoob.com/jsref/jsref-obj-array.html

属性:

length

方法:

concat【连接两个或更多的数组】、forEach【数组每个元素都执行一次回调函数】、includes【判断一个数组是否包含一个指定的值】、indexOf【搜索数组中的元素,并返回它所在的位置】、
lastIndexOf【和
indexOf功能一样,不过是从后面找的】、isArray【判断对象是否为数组】、join【把数组的所有元素放入一个字符串,默认逗号分隔】、map【通过根据指定函数,返回处理后的数组】、
pop【删除数组的最后一个元素并返回删除的元素】、push【向数组的末尾添加一个或更多元素,并返回新的长度】、shift【删除并返回数组的第一个元素】、unshift【数组的开头添加一个或更多元素,并返回新的长度】、
reduce【根据指定的函数,将数组元素计算为一个值】、reduceRight【和reduce一样的用法,不过是从右边开始计算】、reverse【反转数组的元素顺序】、slice【选取数组的的一部分,并返回一个新数组】、
some【检测数组元素中是否有元素符合指定条件】、sort【通过指定函数,对数组进行排序】、splice【从数组中添加或删除元素】、

不常用:copyWithin、entries、every【检测数组元素的每个元素是否都符合条件】、fill【使用固定值来填充数组】、filter【检测数值元素,并返回符合函数条件所有元素的数组。】、valueOf【返回数组对象的原始值】
find【返回符合传入函数 条件的数组元素】、findIndex【返回符合传入函数条件的数组元素索引】、keys、toString【把数组转换为字符串,并返回结果。是以逗号分隔的。一般使用join方法实现】

es6 新增的方法:
构造函数的方法
from【类数组转化为数组】、filter【过滤数组,返回一个满足要求的数组

五、Date 对象 (实践对象,通过new Date() 创建,里面参数不同,创建不同格式的时间)    http://www.runoob.com/jsref/jsref-obj-date.html  或  https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date(推荐,MDN)

创建 Date 对象的4中方式:new Date()  的参数不同,最后创建的时间对象是一样的,只是时间不同而已。    https://blog.csdn.net/yue31313/article/details/79609661

new Date()              // Thu Mar 21 2019 21:41:25 GMT+0800 (中国标准时间)   相当于传入 当前时间点 作为参数获取的时间对象
new Date(2017,06,06) // Thu Jul 06 2017 00:00:00 GMT+0800 (中国标准时间) 过去某个时间的时间对象 (以整数作为参数,有几种模式) new Date(“2017/06/06”) // Tue Jun 06 2017 00:00:00 GMT+0800 (中国标准时间) 过去某个时间的时间对象 (以字符串作为参数,有几种模式) new Date(毫秒数) // Thu Jan 01 1970 08:00:00 GMT+0800 (中国标准时间) 从1970年1月1日开始算起的毫秒数 的对应的时间对象

注:所有主流浏览器都支持的格式为: var dateTime = new Date("2017/09/12 13:42:00"); 即参数为 yyyy/MM/dd hh:mm:ss 格式 字符串

方法:

getFullYear【获取对象中的年,4位数返回】、getMonth【获取对象中的月,获取的月份要加1】、getDate【获取 Data对象中的 几号】、getDay【获取 Data对象中的 星期几】、getHours【获取对象中的 时】、getMinutes【获取对象中的分】、getSeconds【获取对象的秒】、
getMilliseconds【获取对象中的 毫秒】、getTime【获取时间戳】

toDateString【将 Date对象的部分(日期),以字符串(Fri Mar 22 2019)输出】、toString【将 Date对象,转换为字符串(Fri Mar 22 2019 13:07:00 GMT+0800 (中国标准时间))】、
toTimeString【将 Date对象的部分(时间),以字符串(13:11:54 GMT+0800 (中国标准时间))输出】、
toLocaleDateString【根据本地时间格式,将 Date对象的 年/月/日 输出】、toLocaleTimeString【根据本地时间格式,把Date对象的 时:分:秒 输出】、toLocaleString【根据本地时间格式,把Date对象的 年月日 时分秒 输出】

不常用:getUTCDate【根据世界时从 Date 对象返回月中的一天 (1 ~ 31)】、toISOString【ISO标准时间格式,字符串】、toJSON【ISO标准时间格式,以 JSON 数据格式返回日期字符串】、getTimezoneOffset【与标准时间的差,以分为单位】、
setFullYear【设置时间对象中的年】、setMonth()、setDate【设置时间对象中 几号】、setHours()、setMinutes()、setSeconds()、setMilliseconds()、setTime【以毫秒设置Date对象】、valueOf【返回 Date 对象的原始值,即一个时间戳】
构造函数的方法(非时间对象):parse【获取某个时间到1970年的时间戳】(即转化为时间戳,参数可以是时间字符串,也可以是时间对象)

注意:1、时间对象是可以直接比较大小的,如 new Date('2018-8-8 17:35:00')>new Date('2018-8-8 19:20:11') // true。

      2、时间对象 一旦参与运算,就会自动中转化为时间戳。所以上面的时间可以进行比较。 如

+new Date()   //  输出  1575438671452

六、Math 对象 (不用创建,本身就是实例对象)      http://www.runoob.com/jsref/jsref-obj-math.html

属性:

PI【圆周率】、E【算术常量 e】           其它几个基本不用,这里不提

方法:(一般数值是作为方法传进去的)

ceil【对数进行上舍入】、floor【对数进行下舍入】、max(x,y,z,...,n)【返回 x,y,z,...,n 中的最高值】、min【返回最低值】、pow(x,y)【 x 的 y 次幂】、random【0~1随机数】、round【四舍五人】、

不常用:abs、三角函数、exp(x)、log(x)、sqrt(x)

七、Error 对象  http://www.runoob.com/jsref/jsref-obj-error.html

属性: Error 对象现有属性,没有方法

name【设置或返回一个错误名】、message【设置或返回一个错误信息】

八、全局方法:    http://www.runoob.com/jsref/jsref-obj-global.html   (typeof 属于关键字,不是方法)

方法:

decodeURI【解码某个编码的 URI】、encodeURI【把字符串编码为 URI】、isNaN【检查某个值是否是数字,不区分数据类型】、Number【转换为数字,转不了的 返回 NaN】、
decodeURIComponent【解码一个编码的 URI 组件,比decodeURI编码的字符更多】、encodeURIComponent【同理】、
parseFloat【字符串转变为一个浮点数,转不了的 返回NaN】、parseInt【字符串变成10进制的整型,任意进制的数据都可以转化】、String【转换为字符串】

不常用:escape【对字符串进行编码】、unescape【对由 escape编码的字符串进行解码】、eval【把字符串作为脚本来执行】、isFinite

 字符串(URL)编码 方法: 参考  https://www.cnblogs.com/wfblog/p/10582944.html

九、 函数对象:

属性:

es6的属性:name【返回定义时的函数名】、

十、FormData 对象          https://developer.mozilla.org/zh-CN/docs/Web/API/FormData

方法:

append【追加新的属性值】、delete【删除一个键值对】、get【返回与给定键关联的第一个值】、getAll【返回与给定键关联的所有值的数组】、
set【设置属性值,如果有就覆盖掉】、has【是否包含某些键】、

十一、


es6 中各种方法请参考https://www.runoob.com/w3cnote/es6-tutorial.html 

九、Symbol (是原始数据类型):  let sy = Symbol("KK");       (个人理解:Symbol数据,可让两个一样的字符串,表达的是两个不同的名称,即   Symbol()  !=  Symbol()) 

  用法: 由于每一个 Symbol 的值都是不相等的,所以 Symbol 作为对象的属性名,可以保证属性不重名。(感觉没什么用,虽然使用Symbol 不会出现重名覆盖的问题,但是)

1、Symbol 是原始数据类型,所以 sy 没有属性、方法。
2、Symbol 有两个全局方法: Symbol.for()【全局搜索 Symbol 中是否有该字符对应的 Symbol 值,有九返回Symbol 值】、 Symbol.keyFor()【返回一个已登记的 Symbol 类型值的 key】

十、Map(映射)对象:  (map对象 类似 object对象,但是键名可以是任意类型的数据。字典型数据上常用,字典名可以是任意数据) https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Map

 属性:

size【键值对的数量】、constructor【对象原型】

 方法:

set【设值】、get【取值】、has【是否有值】、forEach【Map的迭代】、clear【清除对象中的元素】、delete【移除某个键值对】、 其他的用法参考链接

特殊用法:for...of【Map的迭代】、Map 与 Array的转换

十一、Set(集合)对象:( set对象 类似 数组,本质是一个集合,set对象的键是数字,不能指定键的名称,目前 不能通过键获取值,需要遍历实现)  https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Set

 属性:

size【set对象的值的个数】、constructor【对象原型】

 方法:

add【设值】、has【是否有值】、forEach【Set的迭代】、clear【清除对象中的元素】、delete【移除某个元素】、  其他的用法参考链接
特殊用法:利用set对象的储存值的唯一性,可以实现 数组去重、并集、交集、差集 等功能

 十二、Promise 对象(注意,Promise只是一个对象 不是方法,参数是一个回调函数,创建对象时立即执行):

   如果要实现  调用某个函数后 变成一个 Promise 对象,只要这个函数  return 出来一个promise 对象就可以了。

function ajax(URL) {
    return new Promise(function (resolve, reject) {   // return 一个 promise对象
        var req = new XMLHttpRequest(); 
        req.open('GET', URL, true);
        req.onload = function () {
        if (req.status === 200) { 
                resolve(req.responseText);   // pending 状态 变成 fulfilled(成功)
            } else {
                reject(new Error(req.statusText)); // pending 状态 变成 rejected(失败)
            } 
        };
        req.onerror = function () {
            reject(new Error(req.statusText));
        };
        req.send(); 
    });
}
View Code

 方法:

Promise 实例的方法:   then、cath
Promise 构造器的方法: Promise.resolve【将现有对象转为Promise对象】、Promise.reject【将现有对象转为Promise对象】
原文地址:https://www.cnblogs.com/wfblog/p/9176422.html