一、基本包装类型【继承于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); //

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

js基本包装类型及Math对象(八)的更多相关文章

  1. JS基本包装类型之三(String)

    1. 基本数据类型和基本包装类型 这里以字符串类型来讲解基本数据类型和基本包装类型. JS中存在基本数据类型String(typeof返回"string"), 也存在基本包装数据类 ...

  2. js基本包装类型

    基本包装类型   3种特殊的引用类型 为了便于操作基本类型值,es还提供了3种特殊的引用类型: Boolean,Number,String. 每当读取一个基本类型值的时候,后台就会创建一个对应的基本包 ...

  3. JS学习笔记10之Math对象

    -->Math对象 常用属性和方法-->使用Math对象制作相应的效果 Math对象用于执行数学任务 一.Math对象的属性: 二.Math对象的方法: 三.常用属性和方法: Math.P ...

  4. js 基本包装类型 String

    为了操作基本类型值,ECMAScript提供了三个特殊的引用类型: Boolean , Number , String 举例: var s1 = "some text"; var ...

  5. 【Java心得总结一】Java基本类型和包装类型解析

    说到数据类型这个问题是一个基本的不能再基本的问题,我们当初编程入门第一课一般就是讲数据类型,而今天我想记录的是一个在Java中容易忽略的问题,即基本类型和包装类型. 一.基本类型出现的原因 我们都知道 ...

  6. 7-39 Math对象

    7-39 Math对象 学习要点 掌握常用的数学计算方法 温馨提示:关于学习方法的建议 不要强求自己讲参考手册上所以的属性和方法都搞清楚,原因如下: 有些属性和方法非常生僻,很少用,甚至经过一段时间后 ...

  7. String类型和包装类型作为参数传递时,是属于值传递还是引用传递呢?

    原理知识: 如果参数类型是原始类型,那么传过来的就是这个参数的一个副本,也就是这个原始参数的值,这个跟之前所谈的传值是一样的.如果在函数中改变了副本的 值不会改变原始的值. 如果参数类型是引用类型,那 ...

  8. JavaScript--我发现,原来你是这样的JS(再说引用类型,基本包装类型与个体内置对象)

    一.介绍 本篇是续上一篇的,引用类型的后篇,本篇主要是说基本包装类型和个体内置对象.如果你能收获一些知识,那我很高兴,很满足,哈哈哈,希望大家能愉快看完.如果你想学好一门技术,要不忘初心,方得始终. ...

  9. JS--我发现,原来你是这样的JS(引用类型不简单[下篇],基本包装类型与个体内置对象)

    一.介绍 本篇是续上一篇的,引用类型的下篇,本篇主要是说基本包装类型和个体内置对象.如果你能收获一些知识,那我很高兴,很满足,哈哈哈,希望大家能愉快看完.如果你想学好一门技术,要不忘初心,方得始终. ...

随机推荐

  1. 科研黑帮 | Molecular Genetic Anatomy and Risk Profile of Hirschsprung’s Disease

    PNAS又来一篇:Gene- and tissue-level interactions in normal gastrointestinal development and Hirschsprung ...

  2. iOS项目运行出现:[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object

    说白了就是 字典初始化 的时候 放入空的值了 下面这个比较具体 错误原因: NSDictionary *dic = @{@"key":value}这个初始化方法,发现keys co ...

  3. swap 释放

    #swap 释放 -------------------------------- swapoff -a wwapon -a

  4. [K8s]无yaml文件重启Pod

    在没有pod 的yaml文件时,强制重启某个pod kubectl get pod PODNAME -n NAMESPACE -o yaml | kubectl replace --force -f ...

  5. java多线程(六)线程控制类

    1.   多线程控制类 为了保证多线程的三个特性,Java引入了很多线程控制机制,下面介绍其中常用的几种: l  ThreadLocal l  原子类 l  Lock类 l  Volatile关键字 ...

  6. aps.net StateServer设置

    1.在 system.web节点 加 <sessionState mode="StateServer" stateConnectionString="tcpip=1 ...

  7. C++内存管理5-处理new分配内存失败情况(转)

    C++内存管理5-处理new分配内存失败情况(转) endl; 参考博客: https://www.cnblogs.com/findumars/p/9905195.html

  8. IntelliJ IDEA 出现" java: 程序包javax.servlet不存在、 java: 程序包javax.servlet.annotation"等错误

    在IDEA中建立Servlet使用javax.servlet.http.HttpServlet等类时,出现了如下错误: 原因:IntelliJ IDEA 没有导入 servlet-api.jar 这个 ...

  9. LeetCode_461. Hamming Distance

    461. Hamming Distance Easy The Hamming distance between two integers is the number of positions at w ...

  10. Embarcadero Delphi 7 Lite 7.0.4.453 中文版

    https://www.7down.com/soft/116014.html 软件介绍 Embarcadero Delphi 7精简版 是Windows平台下著名的快速应用程序开发工具(Rapid A ...