js 字符串功能转换解析

一. 字符串转换

1.1. 对象转字符串stringify

var str = JSON.stringify(weather);

1.2. 字符串转对象

var obj = JSON.parse(str);

1.3. 数字转字符串toString()

var num = 2023;
var str = '';
str = num.toString();

1.4. 字符串转数字parseInt(string)

parseInt('123'),返回的结果就是int型的123
parseInt('123abc'),返回的结果就是12

1.5. 字符串转数字parseInt(string)和parseFloat()

  前者把值转换成整数,后者把值转换成浮点数

parseInt('123')//返回的结果就是int型的123
parseInt('123abc')//返回的结果就是123
parseFloat('123.4abc')//返回的结果就是123.4

  parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,示例如下:

console.log('数字:', parseInt("AF", 16));  //returns 175
console.log('数字:', parseInt("10", 2));   //returns 2
console.log('数字:', parseInt("10", 8));  //returns 8
console.log('数字:', parseInt("10", 10));  //returns 10

二. 其他类型转换

2.1. 强制类型转换

  强制类型转换(type casting)处理转换值的类型。使用强制类型转换可以访问特定的值,即使它是另一种类型的。
  ECMAScript中可用的3种强制类型转换如下:
  Boolean(value)——把给定的值转换成Boolean型;
  Number(value)——把给定的值转换成数字(可以是整数或浮点数);
  String(value)——把给定的值转换成字符串。

Boolean型的强制类型转换代码

console.log('强制类型转换:', Boolean(""))     //false – empty string   
console.log('强制类型转换:', Boolean("hi"))   //true – non-empty string  
console.log('强制类型转换:', Boolean(100))    //true – non-zero number 
console.log('强制类型转换:', Boolean(null))   //false - null  
console.log('强制类型转换:', Boolean(0))      //false - zero  
console.log('强制类型转换:', Boolean(new Object())) //true – object  

2.2. Number()的强制类型转换代码

  与parseInt()和parseFloat()方法的处理方式相似

console.log('强制类型转换:', Number(false))     //0
console.log('强制类型转换:', Number(true))      //1
console.log('强制类型转换:', Number(undefined)) //NaN
console.log('强制类型转换:', Number(null))      //0
console.log('强制类型转换:', Number("5.5 "))    //5.5
console.log('强制类型转换:', Number("56 "))     //56
console.log('强制类型转换:', Number("5.6.7 "))  //NaN
console.log('强制类型转换:', Number(new Object())) //NaN
console.log('强制类型转换:', Number(100))          //100 

2.3. 利用js变量弱类型转换

  对数字处理,保留小数点后数字 toFixed() (toFixed() 函数会四舍五入)

var num = 2.446242342;
num = num.toFixed(2); 
console.log('输出结果:', num) // 输出结果: 2.45   

  对数字处理,保留小数点后数字 (不四舍五入)

var num2 = Math.floor(15.7784514000 * 100) / 100
console.log('输出结果:', num2) // 输出结果为 15.77  

三.判断字符串中是否包含某个字符串

3.1. indexOf

  indexOf 返回指定字符串在该字符中首次出现的位置,如果没有找到,则返回 -1
  indexOf 接收两个参数,第一是需要搜索的字符串,第二个参数是检索的位置,默认为0

//str.indexOf("")的值为-1时表示不包含
var str = "hello Tara";
if(str.indexOf("Tara") !== -1){alert("Hi,Tara");
}

3.2. lastIndexOf

  lastIndexOf是从字符串末尾开始搜索,返回指定字符串在该字符中最后一次出现的位置
  lastIndexOf 接收两个参数,第一个是需要搜索的字符串,第二个参数是检索的位置,默认是 sting.length - 1

let str = 'abcdea';
//例如,从str第三位向前开始搜索 'a'
console.log(str.lastIndexOf('a',2));// 0
console.log(str.lastIndexOf('a'));// 5

3.3. includes

  lincludes() 方法用于判断字符串是否包含指定的子字符串,返回 true 或 false
  includes 接收两个参数 第一个参数为指定字符串, 第二个参数为查找位置,默认为0

//str.includes("")返回一个布尔值,值为true时表示包含
var str = "hello Tara";
if(str.includes("Tara")){alert("Hi,Tara");
}

3.4. match

  match方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配,如果未找到,则返回 null(也可以用来查询字符串中某个字符出现的次数)。全局搜索,忽略大小写。

let str = 'abcdabcda';
console.log(str.match(/a/gi));//['a','a','a']
console.log(str.match(/z/gi));// null

3.5. search

  seacrh方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,如果没有则返回 -1

let str = 'abcde';
console.log(str.search('a'));// 0
console.log(str.search(/A/i));//使用正则匹配忽略大小写检索   返回 0

3.6. 正则表达式 RegExp 对象

3.6.1. test方法

  检索字符串中指定的值。返回 true 或 false。

let str = 'abcdef';
let reg = /A/i;
console.log(reg.test(str));// true

3.6.2.exec方法

  检索字符串中指定的值。返回找到的值,并确定其位置。
  如果字符串中有匹配的值返回该匹配值,否则返回 null。

let str = 'abcdef';
console.log(/a/.exec(str))// 返回匹配对象
console.log(/z/.exec(str))// null  检索字符串中指定的值。返回 truefalse

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/234768.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LVS负载均衡器(DR模式)+nginx七层代理+tomcat多实例+php+mysql 实现负载均衡以及动静分离、数据库的调用!!!

目录 前言 一、nfs共享存储,为两个节点服务器提供静态网页共享 二、nginx作为lvs的后端节点服务器,完成lo:0网卡配置,以及内核参数设置,还有设置路由表 步骤一:先完成nfs共享存储挂载 步骤二:完成lo:0网…

3.7【窗口】窗口使用示例(创建子窗口)

写在前面 使用 screen_create_window_type() 创建子窗口。 SCREEN_CHILD_WINDOW 类型的窗口必须与父窗口相关联,以便它在显示器上可见。 为了创建一个子窗口,我们需要经历下面的接步骤。 一,为每个上下文和窗口实例创建一个变量 screen_c…

easyexcel常见注解

easyexcel常见注解 一、依赖 <!--阿里巴巴EasyExcel依赖--><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.10</version></dependency>二、常见注解 ExcelProperty 注解中…

pytorch梯度更新方法

一、方法1 autograd import torch from torch import autograd demo1x = torch.tensor(1.) a = torch.tensor(1., requires_grad=True) b = torch.tensor(2., requires_grad=True) c = torch.tensor(3., requires_grad=True)y = a ** 2

预选赛补题

B. 求和 一、题目要求 题目描述 zhengys看到了一个题目&#xff1a;给出一个正整数 n&#xff0c;然后给出 n 数&#xff0c;让你求出这 n 个数相加之后的值&#xff0c;但是给出的这 n 个数不一定是十进制的&#xff0c;可能是二进制到十进制之间任意的一种&#xff0c;zhe…

漏洞复现-log4j2原理分析及CVE-2021-44228

log4j2原理分析及漏洞复现 0x01 log4j2简介 Log4j2 是一个用于 Java 应用程序的成熟且功能强大的日志记录框架。它是 Log4j 的升级版本&#xff0c;相比于 Log4j&#xff0c;Log4j2 在性能、可靠性和灵活性方面都有显著的改进。 Log4j2 特点 高性能&#xff1a;Log4j2 使用异步…

心脏 相关的

心脏问题也会导致夜间醒来。研究发现&#xff0c;心脏不适可能在夜间加剧&#xff0c;因为卧床时心脏需要更多努力来泵血。心绞痛或心律不齐等症状若在夜间出现&#xff0c;应引起高度重视。定期心电图检查对于早期发现心脏疾病至关重要。

算法基础之染色法判定二分图

染色法判定二分图 核心思想&#xff1a; 二分图 : 当且仅当图中不含有奇数环(环中边的数量为奇数) 染色法 : 从原点开始染色 1 / 2 当冲突时即含有奇数环 #include <cstring>#include <iostream>#include <algorithm>using namespace std;const int N 10…

TensorRT 简单介绍

一、TensorRT 对于算法工程师来说&#xff0c;相信大家已经对TensorRT耳熟能详了&#xff0c;那么这个TensorRT是什么呢&#xff1f; 其实&#xff0c;TensorRT是一个可以在NVIDIA各种GPU硬件平台下运行的推理引擎&#xff0c;同时也是一个高性能的深度学习推理优化器&#x…

说说Synchronized及实现原理

嗨&#xff0c;大家好&#xff0c;欢迎来到程序猿漠然公众号&#xff0c;我是漠然。 作为Java工程师&#xff0c;我们经常会遇到并发编程的问题。在并发编程中&#xff0c;Synchronized关键字是我们最常用的工具之一。那么&#xff0c;什么是Synchronized&#xff1f;它是如何…

你知道跨站脚本攻击吗?一篇带你了解什么叫做XSS

1.XSS简介 &#xff08;1&#xff09;XSS简介 XSS作为OWASP TOP 10之一。 XSS中文叫做跨站脚本攻击&#xff08;Cross-site scripting&#xff09;&#xff0c;本名应该缩写为CSS&#xff0c;但是由于CSS&#xff08;Cascading Style Sheets&#xff0c;层叠样式脚本&#x…

css 美化滚动条

当div内容溢出容器定义的高度时,滚动条显示,并美化默认的滚动条样式 div 容器 <divclass"content">内容 </div>css 样式 /* 问话区域 滚动条 */ .content {overflow: auto;height: 662px;padding: 25px;scrollbar-width: thin; /* 设置滚动条宽度 */bo…

25.JSP标准标签库

JSTL概述 JSTL 全名为 JavaServer Pages Standard TagLibrary,即jsp标准标签库。JSTL 是由 JCP &#xff08;Java Community Process&#xff09;所指定的标准规格&#xff0c;它主要提供给 Java Web 开发人员一个标准通用的标签函数库。 Web 程序开发人员能够利用 J STL 和 E…

【Linux基本指令(2)】

文章目录 一. 基本指令第二回 一. 基本指令第二回 cp指令语法 cp src dst 将目标文件或者目录拷贝到指定目录下或文件下。注意同级目录下&#xff0c;不允许存在同名文件或同名目录。如果将一个file.txt文件拷贝到当前目录下&#xff0c;就重名了&#xff0c;报错cp不了&#…

springboot(ssm华府便利店信息管理系统 超市管理系统Java系统

springboot(ssm华府便利店信息管理系统 超市管理系统Java系统 开发语言&#xff1a;Java 框架&#xff1a;ssm/springboot vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff1a;mysql 5.7&#xff08;或8.0&#xff0…

rouyi-vue-pro+vue3+vite4+Element Plus项目中使用生成Vue2+Element UI标准模板

运行一个pro-vue3的前端项目&#xff0c;以及后端服务 在基础设施-代码生成模块中选择某张数据库表导入&#xff0c;并编辑生成信息&#xff0c;前端类型&#xff1a;Vue2Element UI标准模板 在vue3项目中创建一个vue文件 <template> </template><script>…

PTA7-2 一帮一,C语言解答,含代码分析

天大寒&#xff0c;砚冰坚&#xff0c;手指不可屈伸&#xff0c;弗之怠 1.题目信息 “一帮一学习小组”是中小学中常见的学习组织方式&#xff0c;老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作&#xff0c;即在得到…

如何进一步优化Ubuntu服务器的性能

导读&#xff1a; 要进一步优化Ubuntu服务器的性能&#xff0c;您可以考虑以下几个方面&#xff1a;优化软件包管理&#xff1a; Ubuntu使用APT&#xff08;Advanced Package Tool&#xff09;作为其软件包管理工具。为了提高性能&#xff0c;您可以采取以下措施 要进一步优化U…

教师教育研究的意义有哪些

教师教育研究对于提高教育质量、推动教育改革的重要性。也有许多网友对教师教育研究的意义进行了深入探讨。 一、提高教师专业素养 教师是教育的核心力量&#xff0c;教师的专业素养直接影响到教育质量。教师教育研究通过对教育理论、教学方法、教育技术等方面的研究&#xff…

数据分析:继loopy、卡皮巴拉后,小红书下个可爱“顶流”是?

导语 温柔胆小又爱哭的吉伊、乐观开朗会说人话的哈奇&#xff0c;还有自由奔放整天发癫的兔子乌萨奇&#xff0c;三只小可爱共同组成了《吉伊卡哇》&#xff08;ちいかわ&#xff0c;Chiikawa&#xff09;的主角三人组&#xff0c;持续引领当代年轻人的社交话题。 据千瓜数据…