深入探究 JavaScript 中的 String:常用方法和属性全解析(下)

news2024/10/1 19:35:43

在这里插入图片描述

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6
🍨 阿珊和她的猫_CSDN个人主页
🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》
🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入门到实战全面掌握 uni-app》

文章目录

  • 四、`String`的常用属性
    • `isEmpty()`属性:检查字符串是否为空
    • `intern()`属性:获取字符串的 intern 版本
  • 五、总结
    • 总结`String`的常用方法和属性的重要性和用途

四、String的常用属性

isEmpty()属性:检查字符串是否为空

在 JavaScript 中,isEmpty() 并不是一个内置的属性或方法,而是一种自定义的方法,用于检查字符串是否为空。

在实际应用中,我们可以通过以下方式实现 isEmpty() 方法:

function isEmpty(str) {
  return str.trim().length === 0;
}

这个函数接受一个字符串参数 str,首先使用 trim() 方法去除字符串两端的空格,然后检查剩余的字符串长度是否为 0。如果长度为 0,则返回 true,表示字符串为空;否则返回 false

下面是一些示例:

console.log(isEmpty("")); // true
console.log(isEmpty(" ")); // true
console.log(isEmpty("Hello")); // false

在这个例子中,我们定义了一个名为 isEmpty 的函数,用于检查字符串是否为空。然后,我们使用这个函数来检查不同的字符串,并输出相应的结果。

需要注意的是,这个方法并不是唯一的,你还可以通过其他方式来实现类似的功能,例如使用 length 属性来检查字符串长度是否为 0,或者使用 indexOf() 方法检查字符串中是否包含某个子字符串。

intern()属性:获取字符串的 intern 版本

在 JavaScript 中,intern() 方法并不是一个内置的属性或方法,而是一种自定义的方法,用于获取字符串的 intern 版本。

在 JavaScript 中,字符串都有一个唯一的属性 valueOf(),它返回当前字符串的值。例如:

let str = "Hello, World!";
console.log(str.valueOf()); // 输出 "Hello, World!"

但是,如果一个字符串被多次创建,那么它们可能具有相同的值,但在 JavaScript 中它们被认为是不同的对象。为了解决这个问题,JavaScript 提供了一个名为 intern() 的方法,它可以返回一个字符串的 intern 版本,即具有唯一值的字符串对象。

下面是一些示例:

let str1 = "Hello, World!";
let str2 = new String("Hello, World!");

console.log(str1.intern()); // 输出 "Hello, World!"
console.log(str2.intern()); // 输出 "Hello, World!"

在这个例子中,我们创建了两个字符串变量 str1str2,它们都具有相同的值 “Hello, World!”。然后,我们使用 intern() 方法分别获取这两个字符串的 intern 版本,并输出它们。可以看到,它们具有相同的值,但它们是相同的对象。

需要注意的是,intern() 方法并不是一个内置的方法,而是通过将一个字符串转换为 String 对象并调用 valueOf() 方法来实现的。因此,它并不是所有的字符串都具有 intern() 属性。例如:

let str = "Hello, World!";
console.log(str.intern()); // 输出 undefined

在这个例子中,我们尝试获取字符串 str 的 intern 版本,但因为它并不是一个 String 对象,因此无法获取到。

五、总结

总结String的常用方法和属性的重要性和用途

以下是 String 对象的一些常用方法和属性及其重要性和用途:

  1. length 属性:获取字符串的长度。
    • 重要性和用途:在字符串操作和字符串长度相关的算法中,经常需要获取字符串的长度。
  2. charAt() 方法:获取指定索引处的字符。
    • 重要性和用途:在字符串操作和字符串分片相关的算法中,经常需要根据索引获取字符。
  3. substring() 方法:获取指定起始索引和结束索引之间的子字符串。
    • 重要性和用途:在字符串操作和字符串分片相关的算法中,经常需要根据起始和结束索引截取子字符串。
  4. concat() 方法:连接两个或多个字符串。
    • 重要性和用途:在字符串操作和字符串连接相关的算法中,经常需要将两个或多个字符串连接在一起。
  5. indexOf() 方法:查找子字符串在字符串中首次出现的位置。
    • 重要性和用途:在字符串操作和字符串查找相关的算法中,经常需要查找子字符串在字符串中的位置。
  6. lastIndexOf() 方法:查找子字符串在字符串中最后一次出现的位置。
    • 重要性和用途:在字符串操作和字符串查找相关的算法中,经常需要查找子字符串在字符串中的最后一次出现的位置。
  7. slice() 方法:获取指定起始索引和结束索引之间的子字符串。
    • 重要性和用途:在字符串操作和字符串分片相关的算法中,经常需要根据起始和结束索引截取子字符串。
  8. trim() 方法:去除字符串两端的空格。
    • 重要性和用途:在字符串操作和字符串清理相关的算法中,经常需要去除字符串两端的空格。
  9. toLowerCase() 方法:将字符串转换为小写。
    • 重要性和用途:在字符串操作和字符串大小写转换相关的算法中,经常需要将字符串转换为小写。
  10. toUpperCase() 方法:将字符串转换为大写。
    • 重要性和用途:在字符串操作和字符串大小写转换相关的算法中,经常需要将字符串转换为大写。
  11. isEmpty() 属性:检查字符串是否为空。
    • 重要性和用途:在字符串操作和字符串空检查相关的算法中,经常需要检查字符串是否为空。
  12. intern() 属性:获取字符串的 intern 版本。
    • 重要性和用途:在字符串操作和字符串去重相关的算法中,经常需要获取字符串的 intern 版本。

以上是 String 对象的一些常用方法和属性及其重要性和用途的总结。在实际应用中,熟练掌握和熟练使用这些方法和属性可以帮助我们更高效地处理和操作字符串。

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

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

相关文章

Vision Transformer(VIT)模型介绍

计算机视觉 文章目录 计算机视觉Vision Transformer(VIT)Patch EmbeddingsHybrid ArchitectureFine-tuning and higher resolutionPyTorch实现Vision Transformer Vision Transformer(VIT) Vision Transformer(ViT&am…

算法笔记 #3

2024年1月18日 Q1:搜索二叉树 A:查找,左子树比根几点小,右子树比根大。 删除:1)搜索删除的目标节点,记录其父节点; 2)左右孩子都为空,直接删掉;…

【2023地理设计组一等奖】城市业态基因图谱与城市风格感知

作品介绍 1 设计思路 1.1 作品背景 随着城市化进程不断推进,城市的餐饮、购物、休闲和文化业态成为城市发展中的重要组成部分,深刻影响着城市经济社会发展和居民生活,塑造了城市的外在形象和内在风格,形成了各具特色的城市发展特征。因此,在区域和全国尺度上研究城市业态…

TDengine 创始人陶建辉在汽车 CIOCDO 论坛发表演讲,助力车企数字化转型

当前,汽车行业的数字化转型如火如荼。借助数字技术的充分利用,越来越多的车企进一步提升了成本优化、应用敏捷性、高度弹性和效率。这一转型使得业务应用的开发和管理模式发生了颠覆性的创新,赋予了汽车软件快速响应变化和动态调度资源的能力…

深度学习(1)--基础概念

一.计算机视觉(CV) (1).计算机视觉中图像表示为三位数组,其中三维数组中像素的值为0~255,像素的值越低表示该点越暗,像素的值越高表示该点越亮。 (2).图像表示 A*B*C,其中A,B分别为图像的长和宽,C则表示图像的颜色通道…

Spring Boot 单体应用升级 Spring Cloud 微服务

作者:刘军 Spring Cloud 是在 Spring Boot 之上构建的一套微服务生态体系,包括服务发现、配置中心、限流降级、分布式事务、异步消息等,因此通过增加依赖、注解等简单的四步即可完成 Spring Boot 应用到 Spring Cloud 升级。 *Spring Cloud …

vim 编辑器如何同时注释多行以及将多行进行空格

一、场景 YAML文件对空格的要求非常严格,因此在修改YAML时,我们可能需要批量添加空格。 二、操作步骤 请注意:您的所有操作都将以第一行为基准。也就是说,第一行有多少个空格,下面的行就会模仿添加相同数量的空格。…

一款开源且不限制大小可以设置过期时间的支持分享的的开源文件共享系统picoshare 部署教程

1.拉取镜像 2.部署 创建目录 mkdir -p /opt/picoshare/data 部署 其中:"somesecretpass"是密码 docker run \--env "PORT4001" \--env "PS_SHARED_SECRETsomesecretpass" \--publish 10005:4001/tcp \--volume "/opt/picoshare/data:…

[Android] Android架构体系(2)

文章目录 Bionic精简对系统调用的支持:不支持 System V IPC:有限的 Pthread 功能:有限支持C:不再支持本地化和/或宽字符:Bionic新增的特性系统属性硬编码写死的UID/GID内置了DNS解析硬编码写死的服务和协议 硬件抽象层Linux内核匿名共享内存(ASHMem)Binder-BinderLoggerION 内存…

找不到满意的机器视觉工程师工作,想找到满意的工作很难,人太多了,只能先就业后择业

找不到满意的机器视觉工程师工作,想找到满意的工作很难,人太多了,只能先就业后择业

ICCV2023 | PTUnifier+:通过Soft Prompts(软提示)统一医学视觉语言预训练

论文标题:Towards Unifying Medical Vision-and-Language Pre-training via Soft Prompts 代码:https://github.com/zhjohnchan/ptunifier Fusion-encoder type和Dual-encoder type。前者在多模态任务中具有优势,因为模态之间有充分的相互…

Docker(二)安装指南

作者主页: 正函数的个人主页 文章收录专栏: Docker 欢迎大家点赞 👍 收藏 ⭐ 加关注哦! 安装 Docker Docker 分为 stable test 和 nightly 三个更新频道。 官方网站上有各种环境下的 安装指南,这里主要介绍 Docker 在…

Vue学习笔记9--vuex(专门在Vue中实现集中式状态(数据)管理的一个Vue插件)

一、vuex是什么? 概念:专门在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于…

LeetCode、2462. 雇佣 K 位工人的总代价【中等,最小堆+双指针】

文章目录 前言LeetCode、2462. 雇佣 K 位工人的总代价【中等,最小堆双指针】题目及类型思路及代码实现 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后…

rust获取本地外网ip地址的方法

大家好,我是get_local_info作者带剑书生,这里用一篇文章讲解get_local_info的使用。 get_local_info是什么? get_local_info是一个获取linux系统信息的rust三方库,并提供一些常用功能,目前版本0.2.4。详细介绍地址&a…

【踩坑日志】SpringBoot读取nacos配置信息并提取信息中的IP地址(配置属性解析异常+排错记录)

缘起 :项目需读取nacos中动态的TDengine数据库连接信息并提取IP,一个并不复杂的操作,但作为一个nacos知识浅薄的菜鸡,我愣是捯饬了几个小时……惭愧惭愧…… 异常代码 Data Component public class TaosLink { // Value("…

在PyCharm中创建Flask项目

在 PyCharm 中创建 Flask 项目的步骤如下: 打开 PyCharm,并选择 "Create New Project"(新建项目)。在弹出的窗口中,选择左侧的 "Python" 选项,然后选择右侧的 "Flask" 项目…

【JavaEE】_网络通信原理

目录 1. 网络发展史 2. 网络通信基础 1.1 IP地址 1.2 端口号 1.3 协议 1.3.1 概念 1.3.2 五元组 1.4 协议分层 1.4.1 协议分层的优点 1.4.2 协议分层的分类 1.4.3网络设备所在分层 1.4.4 两台主机通过TCP/IP协议通讯过程 1.5 封装与分用 1.5.1 封装 1.5.2 分用…

【EI会议征稿通知】第四届工业制造与结构材料国际学术会议(IMSM 2024)

第四届工业制造与结构材料国际学术会议(IMSM 2024) 2024 4th International Conference on Industrial Manufacturing and Structural Materials(IMSM 2024) 第四届工业制造与结构材料国际学术会议(IMSM 2024&#x…

TypeScript依赖注入框架Typedi的使用、原理、源码解读

简介 typedi是一个基于TS的装饰器和reflect-metadata的依赖注入轻量级框架,使用简单易懂,方便拓展。 使用typedi的前提是安装reflect-metadata,并在项目的入口文件的第一行中声明import ‘reflect-metadata’,这样就会在原生的R…