js基本包装类型及Math对象(八)

时间秒杀一切 提交于 2020-03-05 09:35:05

一、基本包装类型【继承于Object类型
1、Number()、String()、Boolean()引用数据类型【包装类型】分别对应的基本数据类型为number、string、boolean。

2、当使用基本数据类型调用对应基本包装类型的方法时:后台会创建一个对应的基本包装类型对象来调用相关的方法。
相应的过程如下:
a.创建相应基本包装类型的一个实例对象【装箱
b.在实例对象上调用相应的方法
c.使用完成后,销毁这个实例对象【拆箱
eg:

    var str = "abcefg";
    str.substring(2);  //此处创建了一个String实例来调用subString()方法

3、使用Object构造函数创建对象时,会依据其构造函数携带的参数类型来返回相应的基本包装类型
eg:

    var obj = new Object('nzc');  //携带参数为字符串则其构建的是一个String类型的实例
    console.log(obj instanceof String); //true
    console.log(obj instanceof Object); //true


二、基本包装类型的相应的属性及方法
1、Boolean,Number,String不建议直接使用其包装器类型,他们会增加代码的复杂性并降低执行速度。

2、String 基本包装类型的属性及方法:
length 字符串的字符数量【字符串的长度
charAt(index) 返回给定字符串索引位置的字符【返回指定字符
charCodeAt(index) 返回给定字符串索引位置的字符ASCII编码【返回指定字符ASCII码
eg:

    var s = "helloWorld!!!";
    s.charAt(1); //e
    s.charCodeAt(1); //101

indexOf(需要查找的字符,[开始查找的位置]);【返回索引或-1
从前往后查找指定字符首次出现的位置。

lastIndexOf(需要查找的字符,[开始查找的位置]);【返回索引或-1
从后往前查找字符串首次出现的位置。

search(需要匹配的字串) 【返回索引或-1
方法搜索特定值的字符串,并返回匹配的位置:


indexOf() 与 search()区别在于:
    search() 方法无法设置第二个开始查找位置的参数。
    indexOf() 方法无法设置更强大的搜索值(使用正则表达式作为参数来查找)。

concat()    【不改变原字串
将一个或多个字符串拼接起来,返回拼接得到的新字符串,但是大多使用"+"拼接字符串的级联
eg:

    var str = 'hello';
    str.concat('world'); //'helloworld'
    str.concat('123','world');  //'hello123world'

截取字符串【不改变原字串
slice(开始位置,[结束位置]) 【返回被截取的字串,两个参数均可正可负
参数为负数时,其结果与【负数参数+字串长度=正数数值】该结果正值数值是一样的
一个参数:返回截取开始位置到字符串结束的字串
两个参数:返回截取的开始位置到结束位置之间的字串,不包括结束位置字符

substr(开始位置,[结束位置]) 【其类似于slice()方法,不同之处在于它的参数不能为负值

substring(开始位置,截取的字串长度)【返回被截取的字串,第一个参数可正可负
一个参数:返回截取开始位置到字符串结束的字串
两个参数:返回截取的开始位置开始算的相应长度的字串
eg:

    var s = "helloworld";
    s.slice(3,7); //lowo
    s.substr(3,7); //loworld
    s.substring(3,7);//lowo

trim(); :删除前置以及后置中的所有空格,返回结果【改变原字串
如果需要删除字串字串全部的空格可以使用:

    str.split(" ").join("");  //现将字符串以空格分割组成数组后再对其进行字符串拼接

replace() 【用以执行检索和替换操作,改变原字串
str.replace(正则表达式,要替换的字符串);
eg:

    "helloWorld HEllo".replace(/hello/gi,“JavaScript”); //"JavaScriptWorld JavaScript"

toLowerCase() :转换为小写
toUpperCase() :转换为大写

三、Math对象
比较方法
Math.min() //求一组数中的最小值
Math.max() //求一组数中的最大值

将小数值舍入为整数的几个方法
Math.ceil()  向上舍入【向大值取整
Math.floor() 向下舍入【向小值取整
Math.round() 四舍五入
eg:
Math.ceil(9.9); //10
Math.ceil(-9.9);//-9
Math.floor(9.9); //9
Math.floor(-9.9); //-10
Math.round(6.3); //6
Math.round(6.5); //7

随机数
Math.random() //返回 [0,1) 之间的一个随机数

常用的一些方法
sqrt(x)        x的开平方根
pow(x,y)     x的y次方
abs(x)         x的绝对值
exp(x)         e的x次方     e = 2.7182818284590


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!