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(引用类型不简单[下篇],基本包装类型与个体内置对象)
一.介绍 本篇是续上一篇的,引用类型的下篇,本篇主要是说基本包装类型和个体内置对象.如果你能收获一些知识,那我很高兴,很满足,哈哈哈,希望大家能愉快看完.如果你想学好一门技术,要不忘初心,方得始终. ...
随机推荐
- 响应: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
原vsftpd服务器的系统从centos6.8升级到centos7.2.vsftpd使用yum方式安装,用户采用系统用户登录.由于系统升级到centos7,yum安装的vsftpd版本改变.因此按ce ...
- 微信小程序for循环中传递动态参数
for循环中的参数,没法传到对应的 js里,所以直接在 wxml页面上跳转 发送参数的 wxml页面 <view class="uploader" wx:for=" ...
- android双进程守护,让程序崩溃后一定可以重启
由于我们做的是机器人上的软件,而机器人是24小时不间断服务的,这就要求我们的软件不能退出到系统桌面.当然最好是能够做到程序能够不卡顿,不崩溃,自己不退出.由于我们引用了很多第三方的开发包,也不能保证他 ...
- regexp_replace
pandas和SQL数据分析实战 https://study.163.com/course/courseMain.htm?courseId=1006383008&share=2&sha ...
- MQTT研究之EMQ:【CoAP协议应用开发】
本博文的重点是尝试CoAP协议的应用开发,其中包含CoAP协议中一个重要的开源工具libcoap的安装和遇到的问题调研.当然,为了很好的将EMQ的CoAP协议网关用起来,也调研了下EMQ体系下,CoA ...
- static和export有什么关系
export default class Test{ public static a = 1; public static sayHello(){ } } export module Test{ ex ...
- c#的BeginInvoke和EndInvoke使用demo
BeginInvoke方法可以使用线程异步地执行委托所指向的方法.然后通过EndInvoke方法获得方法的返回值(EndInvoke方法的返回值就是被调用方法的返回值),或是确定方法已经被成功调用. ...
- 在Django中显示操作数据库的语句
需要在配置中加上这个 LOGGING = { 'version':1, 'disable_existing_loggers':False, 'handlers':{ 'console':{ 'leve ...
- 90% 前端开发者都不知道的 JavaScript 实用小技巧
面试神器之数组去重 const a = [...new Set([1, 2, 3, 3])] >> [1, 2, 3] 操作数组担心 falsy 值? const res = myArra ...
- C#多线程那点事——信号量(Semaphore)
信号量说简单点就是为了线程同步,或者说是为了限制线程能运行的数量. 那它又是怎么限制线程的数量的哩?是因为它内部有个计数器,比如你想限制最多5个线程运行,那么这个计数器的值就会被设置成5,如果一个线程 ...