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(引用类型不简单[下篇],基本包装类型与个体内置对象)
一.介绍 本篇是续上一篇的,引用类型的下篇,本篇主要是说基本包装类型和个体内置对象.如果你能收获一些知识,那我很高兴,很满足,哈哈哈,希望大家能愉快看完.如果你想学好一门技术,要不忘初心,方得始终. ...
随机推荐
- 深度解析 ASP.NET MVC 5
ASP.NET MVC基础 IoC容器 ASP.NET MVC可扩展性 ASP.NET MVC Filters & Cache ASP.NET MVC AJAX ASP.NET MVC Cli ...
- Re3 : Real-Time Recurrent Regression Networks for Visual Tracking of Generic Objects
Re3 : Real-Time Recurrent Regression Networks for Visual Tracking of Generic Objects 2019-10-04 14:4 ...
- Python安装依赖包及开发工具转移到Visual Studio 2019
#pip升级pip install --upgrade pip#安装pillow图形库pip install pillow #安装二维码库 pip install MyQR PyCharm工具导入依赖 ...
- 014 Mui
一:概述 1.说明 是开发出来的一套好用的代码片段 任何项目都可以使用MUI 官网:https://dev.dcloud.net.cn/mui/ 不能使用npm进行下载,需要手动从git上下载 2.下 ...
- Spark动态资源分配-Dynamic Resource Allocation
微信搜索lxw1234bigdata | 邀请体验:数阅–数据管理.OLAP分析与可视化平台 | 赞助作者:赞助作者 Spark动态资源分配-Dynamic Resource Allocation S ...
- Solidity开发注意
pragma版本:1.版本要高于0.4.24才可以编译:2.高于0.5的版本则不可编译:3.第三位的版本号可以变,留出来用做bug可以修复(如0.4.1的编译器有bug,可在0.4.2修复,现有合约不 ...
- python 一般处理
#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:afei# QQ:97259460# date = 2019/8/29 s_code1=''s_ ...
- (CSDN 迁移) JAVA多线程实现-支持定时与周期性任务的线程池(newScheduledThreadPool)
前几篇文章中分别介绍了 单线程化线程池(newSingleThreadExecutor) 可控最大并发数线程池(newFixedThreadPool) 可回收缓存线程池(newCachedThread ...
- maven本地仓库配置文件
背景:在使用maven的过程中,感觉本地的jar包位置飘忽不定,归根结底是因为对maven的配置文件理解不清楚造成的. 在maven的安装包下面D:\apache-maven-3.6.1\conf有s ...
- 基础自动化部署搭建过程【Jenkins】
测试环境搭建 为了快速搭建一套PHP测试环境我决定用laradock了,虽然文件很多,但是里面封装的东西也是比较全的,后期开发不知道会用到什么技术,就决定先用这个,随时可以启动用得到的服务.larad ...