JavaScript对象笔记总结(二)

本文介绍了JavaScript中的Math对象和String对象的基本用法,包括常用的数学运算、字符串操作方法及正则表达式的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaScript对象笔记总结(二)

  • Math()对象

   Math 对象用于执行数学任务

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

常见的属性和方法:

属性:

Math.PI圆周率 E自然对数的底数(约等于2.71828)

方法 :

Math.ceil()向上取整,小数位有值进1

Math.fall()向下取整,舍掉小数位

Math.round()四舍五入

Math.round()随机

  • X之间的随机整数:Math.round(Math.random()*X);

X-Y之间的随机整数:Math.round(Math.random()*(Y-X)+X);

实例:

 

 

  • String对象

String 对象用于处理文本(字符串)。

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

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

String对象的属性:字符串长度length

1.String 对象描述

字符串是 JavaScript 的一种基本的数据类型。

String 对象的 length 属性声明了该字符串中的字符数。

String 类定义了大量操作字符串的方法,例如从字符串中提取字符或子串,或者检索字符或子串。

需要注意的是,JavaScript 的字符串是不可变的(immutable),String 类定义的方法都不能改变字符串的内容。像 String.toUpperCase() 这样的方法,返回的是全新的字符串,而不是修改原始字符串。

在较早的 Netscape 代码基的 JavaScript 实现中(例如 Firefox 实现中),字符串的行为就像只读的字符数组。例如,从字符串 s 中提取第三个字符,可以用 s[2] 代替更加标准的 s.charAt(2)。此外,对字符串应用 for/in 循环时,它将枚举字符串中每个字符的数组下标(但要注意,ECMAScript 标准规定,不能枚举 length 属性)。因为字符串的数组行为不标准,所以应该避免使用它。

  1. 常见的属性和方法:

属性:length字符串的长度

方法:

-charAt() 返回在指定位置的字符。 根据索引获取指定的字符

-charCodeAt() 返回在指定的位置的字符的 Unicode 编码。

-concat() 连接字符串。

-String..fromCharCode()根据字符编码获取字符

-IndexOf()可以检索一个字符串中是否含有指定内容,有,返回第一次出现的索引

没有,返回-1。可指定第二个参数,从指定开始查找的位置。

-lastIndexof()

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

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

而lastIndexof是从后往前找

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

例如:

var str="hello world";

var result=str.indexOf("h");//0

 result=str.indexOf("a");// -1

 result=str.indexOf("l",6);//9

-substring()

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

- 参数说明:

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

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

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

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

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

-Split()可将字符串拆分为一个数组

参数:需要一个字符串作为参数

var str="his,him,history";

var arr=str.split(",");

console.log(str);

console.log(arr);

-to UpperCase()将字符型转换为大写并返回

-toLowerCase()将字符串转换为小写并返回

  • Reg()正则表达式

RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。

正则表达式:又称规则表达式

英文名为Regular Expression,在代码中常简写为regex、RegExp

或RE

正则表达式用于定义一些字符串的规则,计算机可以根据正则表达式,来检查一个字符串是否符合规则,可以将字符中符合规则的内容提取出来

 

  1. 语法:

Var 变量=new RegExp(“正则表达式”,”匹配模式”);

使用typeof检查正则对象,会返回object;

Var reg=/^正则表达式$/

2.修饰符

i 执行对大小写不敏感的匹配。

g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

m 执行多行匹配。

3.手机号的规则:

首先 13800001111(11位数字)

1.以1开头

2.第二位(3-9)

3.第三位以后任意9个数字

 

4.正则表达式的方法

test()

- 使用这个方法可以用来检查一个字符串中是否符合正则表达式的 规则

如果符合则返回true,否则返回false

5.使用字面量来创建正则表达式

语法: var 变量=/正则表达式/匹配模式

- 使用字面量的方法创建更加简单

- 使用构造函数创建更加灵活

var reg=new RegExp("a","i");//用构造函数创建正则表达式

var reg=/a/i;

console.log(reg);

//创建一个正则表达式,去检查一个字符串中是否含有a或b或c

reg=/a|b|c/;

// 使用|表示或者的含义

例:

 

6.元字符

元字符(Metacharacter)是拥有特殊含义的字符:

"."表示匹配任意字符

在正则表达式中\反斜杠 作为转义字符

若想要匹配字符"."正则表达式为 \.

表示匹配一个反斜杠\

\w 查找单词字符。

\W 查找非单词字符。

\d 查找数字。

\D 查找非数字字符。

\s 查找空白字符。

\S 查找非空白字符。

\b 匹配单词边界。

\B 匹配非单词边界。

\n 查找换行符。

  1. 范围

[] 使用中括号表示范围

[abc] 等价于 a|b|c

[a-z] 表示匹配所有的小写字母

[A-Z] 表示匹配所有的大写字母

[A-z] 表示匹配所有的字母(包含大小写)

  [0-9] 表示匹配所有的数字、

[^] 除了方括号内的所有字符

 

  1. 字符串与正则表达式相关的方法

(1)split()

 - 把字符串分割为字符串数组。

 - 该方法可以传递一个正则表达式作为参数,这样方法将会根据正 则表达式去拆分

 - 该方法即使不指定全局匹配,也会全部拆分字符串

var str=”fk2j,jvdfi3,ji3,ghji5,jfdi5”;

var str1=str.split(/[a-z]/i);

Console.log(str1);//得到的结果是数组[2,3,3,5,5]

(2)search()  

- 可以搜索字符串中是否含有指定内容

- 如果搜索到指定内容,则会返回第一次出现的索引,如果没有搜索到到返回-1

- 它可以接受一个正则表达式作为参数,然后会根据正则表达式去检索字符串

- serach() 只会查找第一个,即使设置全局匹配也没用

 str=”fd,gfd,gftfd”

str1=str.search(/fd/);

Console.log(str1);//返回的0

(3)macth()

- 可以根据正则表达式,从一个字符串中将符合条件的内容提取出来

- 默认情况下我们的macth只会找到第一个符合要求的内容,找到以后就停止检索,我们可以设置正则表达式为全局匹配模式,这样就会匹配到所有的内容

可以为一个正则表达式设置多个匹配模式,且顺序无所谓

- match()会将匹配到的内容封装到一个数组中返回,即使只查询到一个 结果

str=”hvds2hfas87ef87f”;

 Str1=str.macth(/[a-z]ig/);

Console.log(str1);//返回所有字母

(4)replace()

- 可以将字符串中指定内容替换为新的内容

- 参数说明:

1.被替换的内容

2.新的内容

str="h,ds2,hfa,s87e,f87f";

result=str.replace(/,/g,"_");

console.log(result);//h-ds2-hfa-s87e-f87f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值