js 内置对象常用方法
1 内容概述
js包含一些内置对象,如Array,Function,String等,这些是基本的,常用的js类,所以了解它们十分重要;把他们的方法,用例子和文字简要的记录下来,方便今后参看。
2 Array
2.1 array.concat(item…)
返回一个新数组;
新数组的内容包括:1. array自己的浅拷贝;2. item項,注意,若item是数组,则把这个数组的各项浅拷贝后,添加到新数组中。
2.2 array.join(separator)
返回array的字符串表示,表达格式是array的内容通过separator连接成的字符串。默认separator是‘,’。
2.3 array.pop()
移除数组的最后一个元素,并将这个元素作为返回值。array为空时,返回undefined。
2.4 array.push(item…)
将item添加到array的尾部,返回array的新长度值。
注意,若item是数组,则把它作为array的一项直接加入,这和concat的处理方式不同.
与concat的区别:1. push()修改array,而concat()生成新数组;2. 对于item是数组的情况,处理方式不同。
2.5 array.reverse()
倒置array的内容,并返回array。
2.6 array.shift()
移除array的第一个項,返回被删除的这个項。array为空时,返回undefined。
2.7 array.unshift(item…)
与push()类似, 将item们插入array头部, 返回array的新长度.
2.8 array.slice(start, end)
浅复制array的内容, 复制范围[array[start], array[end]), 返回一个新数组。
说明: 1. end是可选的, 默认是array.length; 2.start和end负数时, 处理方式是把start,end与array.length相加; 3.start>=array.length时, 返回空数组. 例如,
var a = [1, 2, 3];
var b = a.slice(1, 2); // b is [2]
2.9 array.sort(compareFunction)
将数组根据比较函数定义的规则重新排序后,返回array. 默认是将array的内容按照字符串的形式比较, 所以通常需要自定义比较函数; 比较函数的一般形式是function (a, b) {…}, 若a<=b时则a在b之前, a>b时则a在b之后.
2.10 array.splice(start, deleteCount, newItem…)
把array从start位置开始, 删除deleteCount个項, 并将newItem加入到start位置; 最后返回一个数组, 包含被删除的元素.newItem是可选参数. 例如,
var a = ['a', 'b', 'c'];
var b = a.splice(1, 1, 'd');
// a is ['a', 'd', 'c'], b is ['b']
3 Number
3.1 number.toExponential(fractionDigits)
将数字转换为指数表示形式字符串,fractionDigits指定指数的小数位的位数, 取值区间[0,20].
3.2 number.toFixed(fractionDigits)
将数字表示成10进制字符串, fractionDigits同上.
3.3 number.toPrecision(precision)
与toFixed()类同, 只是precision指定的是数字的有效位数, 取值范围[0,21].
3.4 number.toString(radix)
将number转换为需要的进制字符串形式,radix默认是10.
4 RegExp
4.1 regexp.exec(String)
匹配成功, 返回数组,数组第一个項是匹配的整个字符串, 此后項是匹配分组,最后是匹配信息如配置位置,输入的字符串;若找不到匹配, 返回null.
lastIndex属性: 当regexp带有'g'全局标识时, regexp对象维护一个lastIndex属性,每次exec()从lastIndex开始查找;
这个值在exec每次成功执行后, 取值配置成功字符串的后一个字符开始位置.在配置失败后, lastIndex被设置为0.
使用注意的地方, 就在于若在配置成功又不再执行exec时, 需要手动将lastIndex设置为0.
常规使用模式,
var text = 'string';
var regexp = /regexp/g;;
var array;
while (array = regexp.exec(string)) {
..... //todo something
}
4.2 regexp.test(String)
regexp配置string, 则返回true, 否则返回false.
test()时, 不应使用g, 性能优于exec().
5 String
5.1 string.charAt(pos)
返回pos位置上的字符串(js没有char类型). 若pos<0或>=string.length, 则返回空字符串.
5.2 string.charCodeAt(pos)
与charAt()的区别在于返回位置上字符串对应的字符编码值(unicode), 若pos不在合法范围内, 就返回NaN. 示例,
var s = '戴忠';
var i;
for (i = 0; i < s.length; i++) {
console.log(i + ' ' + s.charAt(i) + ' ' + s.charCodeAt(i)); // 0 戴 25140 1 忠 24544
}
5.3 string.concat(string…)
将字符串连接在一起并返回.
5.4 string.indexOf(searchString, pos)
从string的pos开始向后查找searchString, 若找到则返回searchString出现的初始位置,否则返回-1.
5.5 string.lastIndexOf(searchString, pos)
它与indexOf(searchString, pos)的区别在于查找方向相反, 从pos位置开始向前查找.
5.6 str1.localeCompare(str2)
比较两个字符串, 若str1<str2则返回负数, 若相等则返回0, 否则正数.
5.7 string.match(regexp)
若regexp带'g', 则返回包含匹配内容的数组(不包含分组).没有'g'时, 则和regexp.exec(string)返回相同的结果. 例如,
var s1 = '1a2b';
var reg1 = /\d+/;
var reg2 = /[^\d]+/g;
var reg3 = /(\d)+/;
console.log(reg1.exec(s1)); // [ '1', index: 0, input: '1a2b' ]
console.log(s1.match(reg1)); // [ '1', index: 0, input: '1a2b' ]
console.log(s1.match(reg3)); // [ '1', '1', index: 0, input: '1a2b' ]
console.log(s1.match(reg2)); // [ 'a', 'b' ]
5.8 string.replace(searchValue, replaceValue)
将string中匹配searchValue的内容, 用repalceValue取代, 最后返回生成的新字符串.一般只替换第一次配置的内容, 在包含'g'时, 全部替换. 参数说明:
- searchValue是字符串, 或者是正则表达式;
- repalceValue可包含一些特殊含义的内容, 如
| 特殊字符 | 替换值 |
|---|---|
| $$ | $ |
| $& | 整个匹配的文本 |
| $number | 分组捕获的文本 |
| $` | 匹配之前的文本 |
| $' | 匹配之后的文本 |
3.replaceValue可以是函数, 在匹配时依次传入, 匹配的整个文本, 第一个捕获分组, 第二个捕获分组, 依次其他分组. 这个函数的返回值作为实际的取代值.
5.9 string.search(regexp)
与indexOf()功能类似, 返回值情况相同. 这个方法忽略'g'.
5.10 string.slice(start, end)
复制string的内容, 范围[start, end), 不包含end位置的内容. 这个函数的参数取值情况和array.slice()参数取值情况差不多.
5.11 string.split(separator, limit)
将string根据separator的要求分隔内容, 返回形成的数组.limit参数是可选的, 表示分隔的最大个数.separator是一个字符串或者正则表达式.这个方法忽略'g'.
5.12 string.toLowerCase()
返回小写的新字符串.
5.13 string.toUpperCase()
返回大写的新字符串.
5.14 String.fromCharCode(code…)
参数是一些数值, 把这些数值作为字符的编码值对待, 返回一个字符串. 这个方法和charCodeAt()相反.
var str = String.fromCharCode(25140, 24544);
console.log(str)
js 内置对象常用方法的更多相关文章
- js内置对象常用方法
JS内置对象: ● String对象:处理所有的字符串操作 ● Math对象:处理所有的数学运算 ● Date对象:处理日期和时间的存储.转化和表达 ● Array对象:提供一个数组的模型.存储大量有 ...
- js课程 2-8 js内置对象有哪些
js课程 2-8 js内置对象有哪些 一.总结 一句话总结:JS中内置了17个对象,常用的是Array对象.Date对象.正则表达式对象.string对象.Global对象. 1.js常用对象有哪些? ...
- web前端学习(四)JavaScript学习笔记部分(6)-- js内置对象
1.JS内置对象-什么是对象 1.1.什么是对象: JavaScript中的所有事物都是对象:字符串.数值.数组.函数 每个对象带有属性和方法 JavaScript允许自定义对象 1.2.自定义对象: ...
- 4月5日--课堂笔记--JS内置对象
JavaScript 4.5 一. JS内置对象 1.数组Array a)创建语法1:var arr=new Array(参数); i. 没有参数:创建一个初始容量为0的数组 ii. ...
- JS内置对象有哪些?
JS内置对象分为数据封装类对象和其他对象 数据封装类对象:String,Boolean,Number,Array,和Object; 其他对象:Function,Arguments,Math,Date, ...
- JS内置对象-String对象、Date日期对象、Array数组对象、Math对象
一.JavaScript中的所有事物都是对象:字符串.数组.数值.函数... 1.每个对象带有属性和方法 JavaScript允许自定义对象 2.自定义对象 a.定义并创建对象实例 b.使用函数来定义 ...
- 5月15日上课笔记-js中 location对象的属性、document对象、js内置对象、Date事件对象、
location的属性: host: 返回当前主机名和端口号 定时函数: setTimeout( ) setInterval() 二.document对象 getElementById(); 根据ID ...
- JS内置对象的原型不能重定义?只能动态添加属性或方法?
昨天马上就快下班了,坐在我对面的同事突然问我一个问题,我说“爱过”,哈哈,开个玩笑.情况是这样的,他发现JS的内置对象的原型好像不能通过字面量对象的形式进行覆盖, 只能动态的为内置对象的原型添加属性或 ...
- js课程 3-9 js内置对象定时器和超时器怎么使用
js课程 3-9 js内置对象定时器和超时器怎么使用 一.总结 一句话总结:定时器: 1.定义 sobj=setInterval(func,1000); 2.清除 cl ...
随机推荐
- Android Studio 打印调试信息
转自:https://www.2cto.com/kf/201611/569468.html 之前开发单片机软件还是上位机都习惯使用printf(),相信很多很会有和我一样的习惯.开始学习安卓了,当然也 ...
- C#连接SQL Server数据库进行简单操作[转]
环境:VS2010 + SqlServer 2008 首先,按照面向对象的程序设计思想,设计一个数据库操作工具类MyTool.cs,该类中封装了关于数据库连接和操作的方法,各个功能模块在需进行数据库操 ...
- 比较String.substring()、String.slice()、String.substr()的区别
String.substring().String.slice().String.substr()这三者都能从String字符串中截取一部分,那么它们在使用上有什么不同么? 一.slice() 方法提 ...
- C#基础视频教程7.1 如何编写简单游戏
要做一个FlappyBird,最核心的功能是创建几个区块,如果发生碰撞则游戏结束(小鸟撞到管子上,或者小鸟到地上),至于随机生成一些管子,小鸟如何跳跃,最后如何统计分数,都不难想通要怎么做. 首先 ...
- weblogic 内存 及 内存溢出
. 区分JVM虚拟机选项:Xms Xmx PermSize MaxPermSize JVM限制:相关操作系统的数据模型(32-bt还是64-bit)限制:系统的可用虚拟内存限制:系统的可用物理内存限制 ...
- spring错误汇总
在学习spring过程中遇见了种种不同的异常错误,这里做了一下总结.希望遇见类似错误的同学们共勉一下. 1. 错误一 Error creating bean with name 'helloServi ...
- ACM 刷题错误总结 持续更新并持续回想中o(╯□╰)o
一.段错误/RE 1.& 变量取地址 2.数组越界 3.爆栈, 非常可能是死循环,ruturn的边界没有处理好,或者是递归的内容里有死循环的部分. 4.线段树 逢写必错,都是build(i*2 ...
- 将图片转成base64字符串并在JSP页面显示的Java代码
*本事例主要讲了如下几点: * 1:将图片转换为BASE64加密字符串. * 2:将图片流转换为BASE64加密字符串. * 3:将BASE64加密字符串转换为图片. * 4:在jsp文件中以引 ...
- SpriteKit改变Node锚点其物理对象位置不对的解决
在创建Node的物理对象后,默认情况下物理对象和Node的实际边界相应的非常好,由于此时Node的默认锚点是当中心位置即(0.5,0.5),只是假设我们改变了Node的锚点,就会发现其物理边界还是保持 ...
- 每日一Vim(1)
来自 上一篇讲过了Vim的基本操作命令(打开,编辑,保存退出)以及Vim的三种基本模式和光标的基本导航(hjkl),今天讲一些稍微高级点的光标移动,以及一些基本的文本操作命令. 翻一页/半页 对于一个 ...