Javascript中字符串和数字的操作方法整理

1、length – 返回字符串的长度

‘abcd'.length; //4 

2、Math.ceil(num) – 向上取整,不管小数点后面是多少,哪怕.00001,也会向上进一位。

Math.ceil(25.9); //26
Math.ceil(25.5); //26
Math.ceil(25.1); //26 

3、Math.floor(num) – 向下取整,不管小数点后面是多少,哪怕.99999,也会向下减一位。

Math.floor(25.9); //25
Math.floor(25.5); //25
Math.floor(25.1); //25 

4、Math.round(num) – 四舍五入。

Math.round(25.9); //26
Math.round(25.5); //26
Math.round(25.1); //25 

5、Math.abs(num) – 返回数的绝对值。

Math.abs(-10); // 10
Math.abs(10); // 10
Math.abs(-10.5); // 10.5 

6、Math.max(n,n1,n2) – 可返回指定的数中最大的那个数[在 ECMASCript v3 之前,该方法只有两个参数]。

Math.max(1,32,4,5,6,7,87) //87 

7、Math.min(n,n1,n2) – 可返回指定的数中最小的那个数[在 ECMASCript v3 之前,该方法只有两个参数]。

Math.max(1,32,4,5,6,7,87) //1 

8、Math.random() – 随机数,如返回指定数字之间的随机数,公式是:Math.random()*(y-x) + x

//返回0-1之间的随机数,默认带有小数的
Math.random();
//下面只返回0和1的随机数,记住是和,不是0就是1
Math.round( Math.random() )
//5-10的随机数
Math.round( Math.random()*5 + 5 )
//10-20的随机数
Math.round( Math.random()*10 + 10 )
//0-100的随机数
Math.round( Math.random()*100 ) 

Math还有很多方法,其它的不常用,这里就不做介绍了,具体可查看这篇文章。

9、charAt() – 返回指定位置的字符。

‘abcd'.charAt(0); //a
‘abcd'.charAt(1); //b
‘abcd'.charAt(2); //c 

10、charCodeAt() – 获取指定位置字符的编码(unicodo编码)。

‘abcd'.charCodeAt(1) //98
‘abcd'.charCodeAt(2) //99 

11、fromCharCode() – 可接受一个或者多个指定的 Unicode 值,然后返回一个字符串。

String.fromCharCode(97) //a
String.fromCharCode(97,98,99,100,101,102) //abcdef 

12、indexOf() – 返回字符串中一个子串第一处出现的索引。如果没有匹配项,返回 -1 。

‘abcd'.indexOf(‘b') //1
‘abcd'.indexOf(‘g') //-1 

13、substring() – 如果是一个参数,返回下标从start处开始到结束的字符;如果是两个参数,则提取字符串从startend-1之间的字符。

‘abcd'.substring(3) //d
‘abcd'.substring(0,3) //abc
‘abcd'.substring(1,2) //b 

14、substr() – 如果是一个参数,返回下标从start处开始到结束的字符;如果是两个参数,则提取字符串从start位置开始截取end位。

‘abcd'.substr(3) //d
‘abcd'.substr(0,2) //ab
‘abcd'.substr(1,2) //bc 

15、slice() – 如果是一个参数,返回下标从start处开始到结束的字符,如果是负数,则从后面开始取值几位字符;如果是两个参数,则提取字符串从startend-1之间的字符,如果第一个是负数,那么第二个不能小于第一个字符的位置,这个比较绕。

具体看下面的代码。

‘abcd'.slice(-1) //d
‘abcd'.slice(-2) //cd
‘abcd'.slice(3) //d
‘abcd'.slice(0,2) //ab
‘abcd'.slice(1,2) //b
//此时-2,选取到c的位置,后面的2,根据规则,位置应该是2-1,也就是b的位置,所以返回的是空
‘abcd'.slice(-2,2) //
//此时-2,选取到c的位置,后面的3,根据规则,位置应该是3-1,也就是c的位置,所以返回为c
‘abcd'.slice(-2,3) //c 

16、replace() – 字符串替换。

//把a替换成x
‘abcd'.replace(‘a','x') //xbcd
//只能替换第一次匹配的内容,后面的不做匹配
‘abacad'.replace(‘a','x') //xbacad
//如果要全部匹配替换,需要配合正则
‘abacad'.replace(/a/gi,'x') //xbxcxd 

17、split() – 字符串分割成数组。如果一个参数,则根据参数来分割,如果两个,则根据第二个参数,取几个

//如果是一个空字符,则把字符串每一个都分割开
‘abcd'.split(“”); //”a”, “b”, “c”, “d”
//如果是一个空格,则根据空格分割,如果没有空格,直接输出原字符串
‘ab cd'.split(” “); //”ab”, “cd”
//如果是一个空格,则根据空格分割,如果没有空格,直接输出原字符串
‘abacad'.split(“a”); //””, “b”, “c”, “d”
‘abacad'.split(“a”,2); //””, “b” 

18、toUpperCase() – 将小写字符串转换成大写

‘abcd'.toUpperCase(“”); //ABCD 

19、toUpperCase() – 将大写字符串转换成小写

‘ABCD'.toUpperCase(“”); //abcd 

20、parseInt() – 字符串转成数字,遇到非数字既停止,第一个字符不能被转换为数字,返回NaN

parseInt(‘123abc') //123
parseInt(‘abc123′) //NaN 

21、parseFloat() – 字符串转成小数,遇到非数字既停止,第一个字符不能被转换为数字,返回NaN

parseInt('10') //10
parseInt('10abc') //10
parseInt(‘10.256′) //10.256
parseInt(‘10.25W6′) //10.25
parseInt(‘W60′) //NaN 

总结

以上就是关于js中字符串和数字的操作方法的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

(0)

相关推荐

  • 轻松理解Javascript变量的相关问题

    前言 再说本文的内容之前,我们先回溯到1995年,当Brendan Eich在设计第一版JavaScript时,他搞错了许多东西,当然这也包括曾属于语言本身的一部分,例如Date对象,对象相乘被自动转换为NaN等.然而现在回过头看,语言最重要的部分都是设计合理的:对象.原型.具有词法作用域的一等函数.默认情况下的可变性等.语言的骨架非常优秀,甚至超越了人们对它的初步印象. 话说回来,正是Brendan当初的设计错误才诞生了今天这篇文章.我们这次关注的目标非常小,在你使用这门语言多年后可能根本不会

  • 超全面的JavaScript开发规范(推荐)

    这篇文章主要介绍的是关于JS的命名规范.注释规范以及框架开发的一些问题,首先来看看目录. 目录 1. 命名规范:介绍变量.函数.常量.构造函数.类的成员等等的命名规范 2. 注释规范:介绍单行注释.多行注释以及函数注释 3. 框架开发:介绍全局变量冲突.单全局变量以及命名空间 一.命名规范 驼峰式命名法介绍: 驼峰式命名法由小(大)写字母开始,后续每个单词首字母都大写. 按照第一个字母是否大写,分为: ① Pascal Case 大驼峰式命名法:首字母大写.eg:StudentInfo.User

  • 浅谈JavaScript异步编程

    在一年前初学js的时候,看过很多关于异步编程的讲解.但是由于实践经验少,没有办法理解的太多,太理论的东西也往往是看完就忘. 经过公司的三两个项目的锻炼,终于对js异步编程有了比较具体的理解.但始终入门较浅,在这里就当是给自己一个阶段性的总结. 在异步编程中,一条语句的执行不能依赖上一条语句执行完毕的结果,因为无法预测一条语句什么时候执行完毕,它与代码顺序无关,语句是并发执行的. 例如以下代码: $.get($C.apiPath+'ucenter/padCharge/findMember',{id

  • 全面总结Javascript对数组对象的各种操作

    数组 数组定义:简而言之就是一组有序的数据集合,其索引为从0开始且自然增长的整数,其元素值可以是任何js数据!并且包含一个名为length的属性,该属性表示数组元素的个数! 一.定义数组,有三种定义方式: 方式一: var arr=new Array(); arr[0]="11"; arr[1]="22"; arr[2]="33"; 方式二: var arr=new Array("11","22",&quo

  • JavaScript运行过程中的“预编译阶段”和“执行阶段”

    javascript相对于其它语言来说是一种弱类型的语言,在其它如java语言中,程序的执行需要有编译的阶段,而在javascript中也有类似的"预编译阶段"(javascript的预编译是以代码块为范围<script></script>,即每遇到一个代码块都会进行  预编译>执行),了解javascript引擎的执行机理,将有助于在写js代码过程中的思路总结 首先科普下javascript中的两种声明方式,var和function,前者声明的是变量,后

  • 前端编码规范(3)JavaScript 开发规范

    JavaScript规范 变量声明 总是使用 var 来声明变量.如不指定 var,变量将被隐式地声明为全局变量,这将对变量难以控制.如果没有声明,变量处于什么定义域就变得不清(可以是在 Document 或 Window 中,也可以很容易地进入本地定义域).所以,请总是使用 var 来声明变量. 采用严格模式带来的好处是,当你手误输入错误的变量名时,它可以通过报错信息来帮助你定位错误出处. 变量名 变量名推荐使用驼峰法来命名(camelCase) 全局变量为大写 (UPPERCASE ) 常量

  • Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)

    本文实例总结了Javascript DOM事件操作.分享给大家供大家参考,具体如下: 使用JavaScript可以对HTML页面上的各种事件进行监听,如鼠标点击/释放,鼠标悬停/离开,等等. 效果图: 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> &l

  • JavaScript、C# URL编码、解码总结

    JavaScript部分 encodeURI() (解码为:decodeURI()):不会转义的字符:- _ . ! ~ * ' ( ) ;/?:@&=+$,# 例如: encodeURI("http://www.jb51.net?a=-_.!~*'();/?:@&=+$,#") 输出: "http://www.jb51.net?a=-_.!~*'();/?:@&=+$,#" encodeURIComponent() (解码为:decodeU

  • JavaScript 详解预编译原理

    JavaScript 预编译原理 今天用了大量时间复习了作用域.预编译等等知识 看了很多博文,翻开了以前看过的书(好像好多书都不会讲预编译) 发现当初觉得自己学的很明白,其实还是存在一些思维误区 (很多博文具有误导性) 今晚就整理了一下凌乱的思路 先整理一下预编译的知识吧,日后有时间再把作用域详细讲解一下 大家要明白,这个预编译和传统的编译是不一样的(可以理解js预编译为特殊的编译过程) JavaScript是解释型语言, 既然是解释型语言,就是编译一行,执行一行 传统的编译会经历很多步骤,分词

  • 通过JSP的预编译消除性能瓶颈

    欢迎来到"管理角"这个版,新一期的月刊专栏专注于 WebLogic 服务器的管理.配置.处理和开发方面. 开辟这个专栏的目的是为了向大家介绍在使用WebLogic Sever时,能普遍用到的非J2EE开发方面的问题.开发者和管理者同样会发现这个专栏非常有价值,因为这些文章既适用于开发又适用于最终产品的应用.此外,它很大程度上利用了来自于该领域和工程实验室的经验,它提供了对实际问题的详细解答. JSP预编译的必要性 本月的文章着眼于移除潜在的系统性能瓶颈,它通过解决一个最普通的问题――在

随机推荐