其他分享
首页 > 其他分享> > 迷迷糊糊的专二,第七天

迷迷糊糊的专二,第七天

作者:互联网

String对象和Math对象(4课时)

1 什么是String对象
是用来处理文本(字符串)的,为字符串提供一些操作。
2 String对象创建

JavaScript 字符串是原始值,可以使用字符创建: var firstName = “John”

但我们也可以使用 new 关键字将字符串定义为一个对象: var firstName = new String(“John”)

(1)var str=”hello world” 返回 String 类型

(2)var str=String(“hello world”) 返回 String类型

(3)var str=new String(“hello world”) 返回的是String对象 obj类型

var x = “John”;
var y = new String(“John”);
typeof x // 返回 String
typeof y // 返回 Object

****不要创建 String 对象。它会拖慢执行速度,并可能产生其他副作用:
字符串属性
length 返回字符串的长度
length 不能改变字符串的数据 只能读 不能写 和数组不同
*数组的length可读可写 能够通过length属性改变 数组的原始数据

3.String对象的方法

方法 描述
charAt() 返回指定索引位置的字符
charCodeAt() 返回指定索引位置字符的 Unicode 值
concat() 连接两个或多个字符串,返回连接后的字符串
fromCharCode() 将 Unicode 转换为字符串
indexOf() 返回字符串中检索指定字符第一次出现的位置
lastIndexOf() 返回字符串中检索指定字符最后一次出现的位置
localeCompare() 用本地特定的顺序来比较两个字符串
match() 找到一个或多个正则表达式的匹配
replace() 替换与正则表达式匹配的子串
search() 检索与正则表达式相匹配的值
slice() 提取字符串的片断,并在新的字符串中返回被提取的部分
split() 把字符串分割为子字符串数组
substr() 从起始索引号提取字符串中指定数目的字符
substring() 提取字符串中两个指定的索引号之间的字符
toLocaleLowerCase() 根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLocaleUpperCase() 根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLowerCase() 把字符串转换为小写
toString() 返回字符串对象值
toUpperCase() 把字符串转换为大写
trim() 移除字符串首尾空白
valueOf() 返回某个字符串对象的原始值

3.1 charAt()

charAt,返回字符串中某个位置的数字,指定的字符在字符串的下标

语法:

str.charAt(index)

index必需。表示字符串中某个位置的数字,即字符在字符串中的下标

注释:字符串中第一个字符的下标是 0。如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串。

var str=“Hello world!”

document.write(str.charAt(1))

3.2 charCodeAt()

charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。

​ 语法:

​ str.charCodeAt**(index);**

​ 参数index是字符串的下标。

方法 charCodeAt() 与 charAt() 方法执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的是字符子串。

注意:字符串中第一个字符的下标是 0。如果 index 是负数,或大于等于字符串的长度,则 charCodeAt() 返回 NaN**。**

3.3 fromCharCode()

fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串。

A~Z 65~90 a~z 97~122 0~9 48~ 57

​ 语法:

​ String**.fromCharCode****(numX,……);**

​ 它不能作为您已创建的 String 对象的方法来使用。因此它的语法应该是 String.fromCharCode(),而不是 myStringObject.fromCharCode()。

3.4 search()

search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。

​ 语法:

​ str.search**(regexp);**

​ 返回值:返回str中第一个与regexp相匹配的子串的起始位置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EdqT9qin-1577617026715)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1565918209571.png)]

**注释:**如果没有找到任何匹配的子串,则返回 -1。

说明
search() 方法不执行全局匹配,它将忽略标志 g。它同时忽略 regexp 的 lastIndex 属性,并且总是从字符串的开始进行检索,这意味着它总是返回 stringObject 的第一个匹配的位置。

3.5 replace()

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

​ 语法:

**str.replace(“**substr”,“replacement”);

​ 参数substr是要替换的子字符串,replacement是用来替换的字符串。

​ 返回值:一个新的字符串。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9lruzojC-1577617026716)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1565918436351.png)]

3.6 match()

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

var str=“Hello world!”

document.write(str.match(“World”) + “<br /”)

document.write(str.match(“worlld”) + “<br /”)

document.write(str.match(“world!”))

返回值:返回的是一个数组 找不到返回null;

3.7 slice()

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

语法
stringObject.slice(start,end)
参数 描述
start 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
end 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。
返回值
一个新的字符串。包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。

说明
String 对象的方法 slice()、substring() 和 substr() (不建议使用)都可返回字符串的指定部分。slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。slice() 与 substr() 有所不同,因为它用两个字符的位置来指定子串,而 substr() 则用字符位置和长度来指定子串。

还要注意的是,String.slice() 与 Array.slice() 相似。

例:
在本例中,我们将提取从位置 6 开始的所有字符:

1
2
3
4
5
6
输出:happy world!

.3.8 substr()

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

​ 语法:

str.substr**(start,length);*

​ var str=“Hello world!”

​ document.write(str.substr(3))

.3.9 substring()

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

​ 语法:

​ str.substring**(start,end);**

​ var str=“Hello world!” document.write(str.substring(3))

注意:这里的参数不能是负数!

注意:

1、substring()与 slice() 和 substr() 方法不同的是,substring() 不接受负的参数。

2、String 对象的方法 slice()、substring() 和 substr() (不建议使用)都可返回字符串的指定部分。slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。slice() 与 substr() 有所不同,因为它用两个字符的位置来指定子串,而 substr() 则用字符位置和长度来指定子串。

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

3.10 split() *********

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

语法
stringObject.split(separator,howmany)
参数 描述
separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。【‘’,‘’,‘’,‘’】
howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
返回值
一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。

但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。

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

**注释:**String.split() 执行的操作与 Array.join 执行的操作是相反的。

例子
在本例中,我们将按照不同的方式来分割字符串:

1
2
3
4
5
6
7
8
9
输出:
How,are,you,doing,today?
H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
How,are,you

3.11 concat()

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

语法
stringObject.concat(stringX,stringX,…,stringX)
参数 描述
stringX 必需。将被连接为一个字符串的一个或多个字符串对象。
concat() 方法将把它的所有参数转换成字符串,然后按顺序连接到字符串 stringObject 的尾部,并返回连接后的字符串。请注意,stringObject 本身并没有被更改。

stringObject.concat() 与 Array.concat() 很相似。

**提示:**请注意,使用 " + " 运算符来进行字符串的连接运算通常会更简便一些。

3.12 indexOf()

定义和用法
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。 数组同样也有此方法。

语法
stringObject.indexOf(searchvalue,fromindex)
参数 描述
searchvalue 必需。规定需检索的字符串值。
fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。
说明
该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的

开头(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。

提示和注释
**注释:**indexOf() 方法对大小写敏感!

**注释:**如果要检索的字符串值没有出现,则该方法返回 -1。

3.13 lastIndexOf()

定义和用法
lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。

语法
stringObject.lastIndexOf(searchvalue,fromindex)
参数 描述
searchvalue 必需。规定需检索的字符串值。
fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索。
返回值
如果在 stringObject 中的 fromindex 位置之前存在 searchvalue,则返回的是出现的最后一个 searchvalue 的位置。

说明
该方法将从尾到头地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的结尾(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一个字符在 stringObject 中的位置。stringObject 中的字符位置是从 0 开始的。

提示和注释
**注释:**lastIndexOf() 方法对大小写敏感!

**注释:**如果要检索的字符串值没有出现,则该方法返回 -1。

3.14 toLowerCase()

定义和用法
toLowerCase() 方法用于把字符串转换为小写。

语法
stringObject.toLowerCase()
返回值
一个新的字符串,在其中 stringObject 的所有大写字符全部被转换为了小写字符。

3.15 toUpperCase()

定义和用法
toUpperCase() 方法用于把字符串转换为大写。

语法
stringObject.toUpperCase()

返回值
一个新的字符串,在其中 stringObject 的所有小写字符全部被转换为了大写字符。

什么是Math对象

Math 对象
Math 对象用于执行数学任务的函数。

使用 Math 的属性和方法的语法:Math.方法名()
var pi_value=Math.PI;
var sqrt_value=Math.sqrt(15);
**注释:**Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数,不是某个对象的方法。您无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法。

Math对象的方法

Math 对象属性
属性 描述
E 返回算术常量 e,即自然对数的底数(约等于2.718)。
LN2 返回 2 的自然对数(约等于0.693)。
LN10 返回 10 的自然对数(约等于2.302)。
LOG2E 返回以 2 为底的 e 的对数(约等于 1.414)。
LOG10E 返回以 10 为底的 e 的对数(约等于0.434)。
PI 返回圆周率(约等于3.14159)。
SQRT1_2 返回返回 2 的平方根的倒数(约等于 0.707)。
SQRT2 返回 2 的平方根(约等于 1.414)。
Math 对象方法
方法 描述
abs(x) 返回数的绝对值。
acos(x) 返回数的反余弦值。
asin(x) 返回数的反正弦值。
atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。
atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。
ceil(x) 对数进行上舍入。
cos(x) 返回数的余弦。
exp(x) 返回 e 的指数。
floor(x) 对数进行下舍入。
log(x) 返回数的自然对数(底为e)。
max(x,y) 返回 x 和 y 中的最高值。
min(x,y) 返回 x 和 y 中的最低值。
pow(x,y) 返回 x 的 y 次幂。
random() 返回 0 ~ 1 之间的随机数。
round(x) 把数四舍五入为最接近的整数。
sin(x) 返回数的正弦。
sqrt(x) 返回数的平方根。
tan(x) 返回角的正切。
toSource() 返回该对象的源代码。
valueOf() 返回 Math 对象的原始值。

5.1 max()

max() 取两个数的最大值

5.2 min()

min() 取两个数的最小值

5.3 ceil()

ceil() 上舍入 取整数 — 向上取整

5.4 floor()

floor() 下舍入 取整数 ----向下取整

5.5 round()

round() 四舍五入 取整数

5.6 ************ random()

random() 取0-1之间随机数

5.7 abs()

abs() 取绝对值

5.8 pow()

pow(x,y) 取x的y次幂

5.9 sqrt()

sqrt(x) 取x的平方根
————————————————
版权声明:本文为CSDN博主「奈何桥下轮回」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/x3458922045/article/details/103756405

didiaozhu501 发布了0 篇原创文章 · 获赞 2 · 访问量 49 私信 关注

标签:返回,字符,String,str,专二,字符串,迷迷糊糊,stringObject,第七天
来源: https://blog.csdn.net/didiaozhu501/article/details/103972363