js基本包装类型及Math对象(八)
一、基本包装类型【继承于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对象(八)的更多相关文章
- JS基本包装类型之三(String)
1. 基本数据类型和基本包装类型 这里以字符串类型来讲解基本数据类型和基本包装类型. JS中存在基本数据类型String(typeof返回"string"), 也存在基本包装数据类 ...
- js基本包装类型
基本包装类型 3种特殊的引用类型 为了便于操作基本类型值,es还提供了3种特殊的引用类型: Boolean,Number,String. 每当读取一个基本类型值的时候,后台就会创建一个对应的基本包 ...
- JS学习笔记10之Math对象
-->Math对象 常用属性和方法-->使用Math对象制作相应的效果 Math对象用于执行数学任务 一.Math对象的属性: 二.Math对象的方法: 三.常用属性和方法: Math.P ...
- js 基本包装类型 String
为了操作基本类型值,ECMAScript提供了三个特殊的引用类型: Boolean , Number , String 举例: var s1 = "some text"; var ...
- 【Java心得总结一】Java基本类型和包装类型解析
说到数据类型这个问题是一个基本的不能再基本的问题,我们当初编程入门第一课一般就是讲数据类型,而今天我想记录的是一个在Java中容易忽略的问题,即基本类型和包装类型. 一.基本类型出现的原因 我们都知道 ...
- 7-39 Math对象
7-39 Math对象 学习要点 掌握常用的数学计算方法 温馨提示:关于学习方法的建议 不要强求自己讲参考手册上所以的属性和方法都搞清楚,原因如下: 有些属性和方法非常生僻,很少用,甚至经过一段时间后 ...
- String类型和包装类型作为参数传递时,是属于值传递还是引用传递呢?
原理知识: 如果参数类型是原始类型,那么传过来的就是这个参数的一个副本,也就是这个原始参数的值,这个跟之前所谈的传值是一样的.如果在函数中改变了副本的 值不会改变原始的值. 如果参数类型是引用类型,那 ...
- JavaScript--我发现,原来你是这样的JS(再说引用类型,基本包装类型与个体内置对象)
一.介绍 本篇是续上一篇的,引用类型的后篇,本篇主要是说基本包装类型和个体内置对象.如果你能收获一些知识,那我很高兴,很满足,哈哈哈,希望大家能愉快看完.如果你想学好一门技术,要不忘初心,方得始终. ...
- JS--我发现,原来你是这样的JS(引用类型不简单[下篇],基本包装类型与个体内置对象)
一.介绍 本篇是续上一篇的,引用类型的下篇,本篇主要是说基本包装类型和个体内置对象.如果你能收获一些知识,那我很高兴,很满足,哈哈哈,希望大家能愉快看完.如果你想学好一门技术,要不忘初心,方得始终. ...
随机推荐
- 用openssl 生成证书的过程
1. 安装 openssl 后可以执行如下命令来生成私钥和对应的证书请求文件 ca openssl req -new -keyout private.key -out for_request.csr ...
- API调试工具--------Postman
Postman一款非常流行的API调试工具.其实,开发人员用的更多.因为测试人员做接口测试会有更多选择,例如Jmeter.soapUI等.不过,对于开发过程中去调试接口,Postman确实足够的简单方 ...
- ios 报错 Invalid row height provided by table delegate. Value must be at least 0.0, or UITableViewAutomaticDi......
Invalid row height provided by table delegate. Value must be at least 0.0, or UITableViewAutomaticDi ...
- java判断是excel2003还是2007以上
public static Workbook create(InputStream in) throws IOException,InvalidFormatException { if (!in.ma ...
- 【SpringBoot】SpringBoot配置文件及YAML简介(三)
SpringBoot配置文件 SpringBoot使用一个全局的配置文件,配置文件名是固定的; application.properties application.yml 配置文件的作用:修改Spr ...
- 【APM】Pinpoint 使用教程(二)
本例介绍Pinpoint使用教程 Pinpoint安装部署参考:[APM]Pinpoint 安装部署(一) 查看应用调用关系拓扑图 进入pintpoint->选择应用-〉选择查看的时间周期,即可 ...
- git之github配置
1.安装好git以后,我们配置git秘钥,首先输入下面的命令: 2.接着上述操作,一路回车按键.如图所示:生成了秘钥,, 如下图,就是秘钥了: 3.我们打开注册好的github地址.找到ssh选项,将 ...
- tcp端口扫描与syn扫描
连接网络设备时,一般都会在网络设备端选取0-65535之间的一个端口进行连接,端口扫描是指:检查网络设备上0-65535号端口哪些端口是开启状态.如果黑客扫描到某网络设备的80端口是开启状态,那么很有 ...
- cube-ui 重构饿了吗Webapp的 scroll-nav域名插槽问题
Vue2.6 将 slot-scope 废弃了. 推荐使用 v-slot: 其使用方法大致如下: 注意多个插槽的情况下,最好都基于 <template> default插槽用法还是一样的, ...
- POJ 2386 DFS深搜入门
题目链接 Time Limit: 1000MS Memory Limit: 65536K Description Due to recent rains, water has pooled in va ...