编程笔记 html5cssjs 067 JavaScrip String数据类型

编程笔记 html5&css&js 067 JavaScrip String数据类型

  • 一、String数据类型
  • 二、类型运算
  • 三、代码示例
  • 小结

Javascript语言中的String数据类型详解。JavaScript 中的 String 数据类型用于表示文本数据。字符串是不可变的,这意味着一旦创建了一个字符串,就不能直接修改其内容。

一、String数据类型

在 JavaScript 中,字符串可以通过以下几种方式定义:

  1. 定义字符串

    • 使用单引号 ' 或双引号 " 来包裹文本内容。
      var string1 = 'Hello, World!';
      var string2 = "Hello, World!";
      
  2. 转义字符

    • 字符串中可以包含特殊字符,通过使用反斜杠 \ 进行转义,例如换行符 \n、制表符 \t、单引号 \'、双引号 \" 等。
      var escapedString = "This is a string containing a \"quote\" and a newline\n";
      
  3. 字符串字面量模板(ES6新增):

    • 可以使用反引号 `` (`) 创建模板字符串,它们可以跨越多行,并且能够嵌入表达式。
      let name = "Alice";
      let greeting = `Hello, ${name}!`; // 结果为 "Hello, Alice!"
      
  4. 字符串长度

    • 通过 .length 属性获取字符串的长度。
      var str = "example";
      console.log(str.length); // 输出:7
      
  5. 字符串方法

    • JavaScript 提供了许多内建的字符串方法来处理和操作字符串,包括但不限于以下几种:
      • 连接:使用 + 连接两个或更多的字符串。

        var string1 = "Hello, ";
        var string2 = "World!";
        var result = string1 + string2; // 结果为 "Hello, World!"
        
      • 拼接:从 ES6 开始,也可以使用 template literals 或者 String.prototype.concat() 方法。

        var string1 = "Hello";
        var string2 = ", World!";
        var result = `${string1}${string2}`; // 结果为 "Hello, World!"// 或者
        var result = string1.concat(string2);
        
      • 替换replace() 方法用于替换匹配正则表达式的部分或者特定字符。

        var original = "Apple";
        var replaced = original.replace("Apple", "Banana"); // 结果为 "Banana"
        
      • 分割split() 方法基于指定分隔符将字符串切割成数组。

        var sentence = "Hello, World!";
        var words = sentence.split(", "); // 结果为 ["Hello", "World!"]
        
      • 切片slice() 方法返回一个子字符串,选取的是原字符串的一部分。

        var str = "Hello, World!";
        var substring = str.slice(7, 12); // 结果为 "World"
        
      • 其他方法还包括查找(indexOf, includes, search)、替换所有(replaceAll)、转换大小写(toLowerCase, toUpperCase)、trim空白(trim, trimStart, trimEnd)等。

  6. 字符串迭代

    • 自ES6起,可以使用 for...of 循环遍历字符串中的每个字符。

JavaScript 中的字符串是基本数据类型,但具有对象特性,因此可以调用方法进行操作。这些方法不会改变原始字符串,而是返回新的字符串。

二、类型运算

在JavaScript中,String数据类型不直接支持算术运算符(如+、-、*等),但有一些特定的运算符和方法可以用于操作字符串:

  1. 加号 (+)

    • 用于连接字符串或进行字符串与非字符串类型的隐式转换后连接。
      var str1 = "Hello, ";
      var str2 = "World!";
      var combined = str1 + str2; // 结果为 "Hello, World!"var num = 123;
      var strNum = " is my number";
      var sentence = num + strNum; // 自动将数字转换为字符串后连接:结果为 "123 is my number"
      
  2. 等于 (=) 和比较运算符

    • 等于 (==) 或全等 (===) 运算符可用于比较两个字符串是否相等。
      var str1 = "apple";
      var str2 = "apple";
      console.log(str1 == str2); // 输出 true
      console.log(str1 === str2); // 输出 true (因为它们都是相同的字符串且类型相同)
      
  3. 包含关系检查

    • 使用 includes() 方法检测一个字符串是否包含另一个子字符串。
      var sentence = "I love JavaScript";
      console.log(sentence.includes("JavaScript")); // 输出 true
      
  4. 索引运算符

    • 方括号 [] 可以用来访问字符串中的某个字符。
      var str = "hello";
      console.log(str[0]); // 输出 "h"
      
  5. 模板字面量运算符 (Template literals)

    • 通过反引号 `` () 创建的模板字符串允许嵌入表达式,并使用 ${}` 包裹这些表达式。
      let name = "Alice";
      console.log(`Hello, ${name}!`); // 输出 "Hello, Alice!"
      
  6. 拼接运算符

    • 虽然不是严格意义上的运算符,但 .concat() 方法可以用于连接字符串而不改变原始字符串。
      var str1 = "Hello";
      var str2 = "World";
      var result = str1.concat(" ", str2); // 结果为 "Hello World"
      
  7. 比较运算符

    • <, >, <=, >= 可以用于比较两个字符串的字典顺序(基于每个字符的Unicode编码)。
      console.log("apple" < "banana"); // 输出 true
      

以上是JavaScript中涉及String数据类型的一些主要运算符和方法。

三、代码示例

// 定义几个字符串变量
let greeting = "Hello, ";
let name = "World!";
let age = 25;
let sentence = `${greeting} My name is ${name} and I am ${age} years old.`;console.log(sentence); // 输出: "Hello, My name is World! and I am 25 years old."// 使用字符串长度属性
console.log(`The length of the greeting is ${greeting.length} characters.`);// 字符串连接与替换操作
let replacedGreeting = greeting.replace("Hello", "Hi");
console.log(replacedGreeting); // 输出: "Hi, World!"// 字符串分割成数组
let words = sentence.split(" ");
console.log(words); // 输出: ["Hello,", "My", "name", "is", "World!", "and", "I", "am", "25", "years", "old."]// 字符串切片
let firstName = name.slice(0, 5);
console.log(firstName); // 输出: "World"// 检查字符串包含关系
console.log(sentence.includes("World")); // 输出: true// 索引运算符访问特定字符
console.log(sentence[0]); // 输出: "H"// 比较字符串
let anotherName = "Alice";
console.log(name > anotherName); // 输出: false,因为在字典顺序中 "Alice" 在 "World!" 之前// 连接字符串而不改变原字符串
let anotherSentence = greeting.concat(", nice to meet you!");
console.log(anotherSentence); // 输出: "Hello, , nice to meet you!"

以上代码示例展示了JavaScript中String数据类型的多种使用方式,包括模板字面量、.length 属性、.replace() 方法、.split() 方法、.slice() 方法、.includes() 方法、索引运算符以及 .concat() 方法。

小结

数值类型和字符串类型在编程中要经常使用,务必熟练掌握。

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

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

相关文章

如何安装配置HFS并实现无公网ip远程访问本地电脑共享文件

文章目录 前言1.下载安装cpolar1.1 设置HFS访客1.2 虚拟文件系统 2. 使用cpolar建立一条内网穿透数据隧道2.1 保留隧道2.2 隧道名称2.3 成功使用cpolar创建二级子域名访问本地hfs 总结 前言 在大厂的云存储产品热度下降后&#xff0c;私人的NAS热度快速上升&#xff0c;其中最…

HiveSQL题——窗口函数(lag/lead)

目录 一、窗口函数的知识点 1.1 窗户函数的定义 1.2 窗户函数的语法 1.3 窗口函数分类 1.4 前后函数:lag/lead 二、实际案例 2.1 股票的波峰波谷 0 问题描述 1 数据准备 2 数据分析 3 小结 2.2 前后列转换&#xff08;面试题&#xff09; 0 问题描述 1 数据准备 …

使用mkcert生成服务证书和客户端证书并导入到java中

github下载mkcert https://github.com/FiloSottile/mkcert 服务器ip地址为192.168.1.1 生成服务器证书 mkcert 192.168.1.1获取到192.168.1.1.pem和192.168.1.1.key.pem文件 将文件配置到服务器中 本地安装证书 mkcert -install在其他客户端手动导入证书到java中 执行两…

Pytest中doctests的测试方法应用

在 Python 的测试生态中,Pytest 提供了多种灵活且强大的测试工具。其中,doctests 是一种独特而直观的测试方法,通过直接从文档注释中提取和执行测试用例,确保代码示例的正确性。本文将深入介绍 Pytest 中 doctests 的测试方法,包括基本用法和实际案例,以帮助你更好地利用…

Habitat环境学习一:导航任务概述

导航任务 概述&#xff1a; Agent需要导航到环境中的指定位置&#xff0c;而该位置可以由特定的目标形式指定。 PointGoal Navigation&#xff1a;导航到环境中相对于初始位置特定的点&#xff1b; Object Navigation&#xff1a;Agent需要在环境中找到特定的物体&#xff1…

【C++】类和对象(一)

前言&#xff1a;在前面我们带大家初步步入了C&#xff0c;让大家大概知道了他的样子&#xff0c;那今天就可以说我们要正式步入C的大门了&#xff0c;这一章内容的细节比较多各位学习的时候一定要仔细。 &#x1f496; 博主CSDN主页:卫卫卫的个人主页 &#x1f49e; &#x1f…

leetcode 27.移除元素(python版)

需求 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度…

如何多好一个FMEA——SunFMEA软件

尽管FMEA的理念和流程相对简单&#xff0c;但在实际操作中&#xff0c;许多企业发现FMEA的实施并不容易&#xff0c;往往无法达到预期的效果。今天SunFMEA软件和大家一起 SunFMEA软件 首先&#xff0c;FMEA的实施需要跨部门、跨领域的团队合作。然而&#xff0c;在很多企业中&a…

C# Newtonsoft.Json解析json笔记

最近在做数据传报的工作&#xff0c;有解析一个巨复杂的json的需求&#xff0c;所以又学了下 Newtonsoft.Json&#xff0c;感觉挺方便的。 参考思路如下&#xff1a; 1、对象的格式为 名称:值。其中&#xff0c;值可以为对象&#xff08;大括号&#xff09;&#xff0c;也可以…

RX-8564 LC实时时钟模块

.内置 32.768 kHz 晶体单元(频率精度调整完毕) .接口类型&#xff1a;I2C-Bus 接口 (400 kHz) .工作电压范围&#xff1a;1.8 V ~ 5.5 V .计时&#xff08;保持&#xff09;电压范围 &#xff1a;1.0 V ~ 5.5 V / -20 ˚C ~70 ˚C .低待机电流 &#xff1a;275 nA / 3.0…

Acrel-2000MG微电网能量管理系统在工商业储能行业中的应用

一、概述: 在新型电力系统中新能源装机容量逐年提高&#xff0c;但是新能源比如光伏发电、风力发电是不稳定的能源&#xff0c;所以要维持电网稳定&#xff0c;促进新能源发电的消纳&#xff0c;储能将成为至关重要的一环&#xff0c;是分布式光伏、风电等新能源消纳以及电网安…

超强预测模型:二次分解-组合预测

1 长时间序列预测模型Informer Informer是一种基于自注意力机制的序列预测模型&#xff0c;专门用于时间序列预测任务,在时间序列预测领域取得了显著的性能Informer主要特点&#xff1a; 注意力机制与多层编码器-解码器结构 Informer模型引入了全局自注意力和局部自注意力机…

大模型技术关于硬件和操作系统的要求

引言 在人工智能的快速发展中,大模型技术逐渐成为了研究和应用的热点。本文将探讨在大模型技术中,硬件和操作系统的重要性以及具体的要求。 硬件与操作系统要求 一、硬件与软件的平衡 在大模型微调技术的落地应用中,硬件和软件同等重要。用户需要根据具体的应用场景和需求…

Linux操作系统权限相关问题(一站式速通权限)

一、sudo命令 sudo yum install -y sl sudo命令的作用 不切换用户&#xff0c;就想让普通用户以root的身份&#xff0c;执行对应的指令 输入密码时&#xff0c;输入的是自己普通用户的密码&#xff0c;而不是root的密码&#xff01;&#xff01;&#xff01; sudo可以进行…

移动端深度编辑产品技术解决方案

视频编辑已经成为企业宣传、教育、娱乐等多个领域的重要工具。美摄科技凭借其深厚的技术积累和对市场需求的敏锐洞察&#xff0c;开发出业界领先的移动端深度编辑产品&#xff0c;为企业提供高效、专业的视频编辑解决方案。 美摄科技移动端深度编辑产品方案&#xff0c;基于多…

【Vue】2-5、Vue 过滤器

过滤器&#xff08;Filters&#xff09;是 vue 为开发者提供的功能&#xff0c;用于文本的格式化。 【Vue2 可用&#xff0c;Vue3 已经弃用】 过滤器可以用在两个地方&#xff1a; 插值表达式 v-bind 属性绑定 过滤器应该被添加在 JavaScript 表达式的尾部&#xff0c;由“管…

小程序脚本语言——SJS 语法参考

SJS&#xff08;safe/subset javascript&#xff09; 是小程序的一套脚本语言&#xff0c;结合 tyml&#xff0c;可以构建出页面的结构。 注意事项 SJS 的运行环境和其他 JavaScript 代码是隔离的&#xff0c;SJS 中不能调用其他 JavaScript 文件中定义的函数&#xff0c;也不…

那些年与指针的情仇(二)---二级指针指针与数组的那点事函数指针

关注小庄 顿顿解馋(&#xff61;&#xff65;∀&#xff65;)&#xff89;&#xff9e; 欢迎回到我们的大型纪录片《那些年与指针的爱恨情仇》&#xff0c;在本篇博客中我们将继续了解指针的小秘密&#xff1a;二级指针&#xff0c;指针与数组的关系以及函数指针。请放心食用&a…

【AI量化分析】小明在量化中使用交叉验证原理深度分析解读

进行交叉验证好处 提高模型的泛化能力&#xff1a;通过将数据集分成多个部分并使用其中的一部分数据进行模型训练&#xff0c;然后使用另一部分数据对模型进行测试&#xff0c;可以确保模型在未见过的数据上表现良好。这样可以降低模型过拟合或欠拟合的风险&#xff0c;提高模…

浅谈MySQL3种日志

浅谈MySQL3种日志 日志是mysql数据库的重要组成部分&#xff0c;记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。作为开发&#xff0c;我们重点需要关注的是二进制日志(binlog)和事务日志(包括redo log和un…