JavaScript(6)-字符串的定义和使用,字符串的属性和方法及Math

2023-11-12

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

JS字符串的概念
字符串就是一串字符,由双(单)引号括起来。
字符串是 JavaScript 的一种数据类型。


提示:以下是本篇文章正文内容,下面案例可供参考

一、字符串的定义和使用

1.字符串的定义

方式一(推荐):  var str = ‘亲’;    //基本类型 
   定义了一个字符串变量str,内容为'亲'
方式二: var str = new String(“hello”);       //引用类型
  定义一个字符串变量str,内容为hello,
  注意: 此刻str为引用类型(object对象)
           用new产生的变量都是引用类型的变量,也叫对象
  方式三: var str = String(‘hello’);
  基本类型: string, number, boolean, undefined,null等
  引用类型/对象: Array , Date, Object, String, Function等

2.new String()和String()的区别

var s1 = new String(‘hello world’);
var s2 = String(‘hello world’);
console.log(typeof s1); //object
console.log(typeof s2); //string
  当String()和元素符new一起使用, 那么String()是作为构造函数使用的,它返回的是一个新创建的String对象.    (构造函数后面课程会讲)
  当不用new运算符调用String()时,它只是转换成原始的字符串,并返回转换后的值.

二、字符串的属性和方法

1.字符串的属性

  • length: 表示字符串的长度

    例如 :

var str = “how are you”;
            console.log(str.length);
            console.log(str[0]);  //获取字符串中对应下标的字符

注意: ECMAScript 中的字符串是不可变的; 也就是说,字符串一旦创建,它们的值就不能改变.
例如:

 var str = “亲,包邮哦”;
               str[0] = “唉”;  //不会改变

如果要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量.

var str =  “Hello”;
str = str+” world!”;

2.字符串的方法(函数)

str.charAt(3): 获取下标为3的字符

str.charCodeAt(3): 获取下标为3的字符的编码(ASCII码)

String.fromCharCode(94); ASCII编码转换成字符
该方法是String的静态方法,所以用String调用,
如:

 var str = String.fromCharCode(98,99); //可传入多个参数

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)

str.concat(); 连接字符串
例如:

var str1 = “hello”;
         var str2 = str1.concat(“ world”);

字符串的查找方法

str.indexOf(“abc”); 查找字符串第一次出现的位置, 如果没找到则返回-1
例如:

var str = “abcdabcd”;
          var subStr = “bcd”;
          var index = str.indexOf(subStr);

str.lastIndexOf(“abc”); 查找字符串最后一次出现的位置, 如果没找到则返回-1
例如:

var index = str.lastIndexOf(“abc”);
  • str.search(); 正则匹配 (返回第一次出现的位置)

    例如:

  var str = “Abcdabcd”;
          var index = str.search(/abc/gi);
      注: g表示进行全局匹配,i表示匹配的时候忽略大小写
  • str.replace(); 替换字符串

    例如:

  var str = “how are Are are you!”;
          var newStr = str.replace(“are”, “old are”);

这里的替换只能执行一次,不能够进行全局匹配,如果需要全局匹配,则应使用正则表达式:

str.replace(/are/gi, "old are")
  • str.substring(start,end); 截取字符串 范围是[start, end)

    例如:

var str =  “Hello world!”;
        console.log(str.substring(2,5));
        注: 如果只有一个参数, 则表示到字符串最后
  • str.split(separator, howmany); 根据分隔符、拆分成数组

  • separator(字符串或正则表达式)

  • howmany(可以指定返回的数组的最大长度, 可以省略)

    注:如果空字符串(“”)用作separator, 那么stringObject中的每个字符之间都会被分割。

  • str.toLowerCase(); 把字符串转换成小写

  • str.toUpperCase(); 把字符串转换成大写

三、Math

1.Math对象

Math对象: Math对象可以用于执行数学任务
Math对象的常用函数:

 Math.round(3.6)     //四舍五入
  Math.random()       //返回0-1之间的随机数
  Math.max(num1, num2)   //返回较大的数
  Math.min(num1, num2)   //返回较小的数
  Math.abs(num)       //绝对值
  Math.ceil(19.3)     //向上取整
  Math.floor(11.8)    //向下取整
  Math.pow(x,y)       //x的y次方
  Math.sqrt(num)      //开平方

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript(6)-字符串的定义和使用,字符串的属性和方法及Math 的相关文章

随机推荐

  • Flink_02_算子(个人总结)

    声明 1 本文为我的个人复习总结 并非那种从零基础开始普及知识 内容详细全面 言辞官方的文章 2 由于是个人总结 所以用最精简的话语来写文章 3 若有错误不当之处 请指出 Flink程序的组成结构 Source 数据输入 Transform
  • C语言自定义类型一网打尽(结构体、位段/位域、枚举、联合体)

    前言 C语言自定义类型有 结构体 枚举 联合体 内置类型有 int char long double short float等 结构体 struct 结构体声明 结构体 描述一个学生 名字 年龄 电话 性别 定义 下面s1 s3为结构体全局
  • java程序设计成长史项目实战练习

    关于java程序设计实战项目JAVA与Mysql的连接 使用模块化进行连接 下面为具体的代码 为20rg同学项目练习提供参考 还请多多关注 1 二 主程序模块 2 public static void main process throws
  • java中,如何将一个字节数组转换成字符串?

    String tmpStr 我的测试 byte tb tmpStr getBytes String m new String tb System out println m m byte a a b c d 6 String e new S
  • C++编写的一个图书管理系统

    C 编写的一个图书管理系统 2018大一的课设 搬到这纪念一下 共1200多行代码 为图书管理人员编写一个图书管理系统 图书管理系统的设计主要是实现对图书的管理和相关操作 包括3个表 图书信息表 存储图书的基本信息 包括书号 书名 作者 出
  • android content file,Android开发中content://与file://真实文件路径的转换

    问题 最近在开发文件查看器中出现一个问题 接收到一个uri content media external images media 2283 获取到的getPath external images media 2283 打开文件是出现异常
  • 使用Python,OpenCV进行对象追踪

    这篇博客将介绍如何使用Python OpenCV的内置对象跟踪器进行对象跟踪 单目标追踪 并将简单介绍OpenCV库中内置的八种对象跟踪算法 截至OpenCV 3 4 包括 CSRT KCF Boosting MIL TLD MedianF
  • unittest中用ddt将参数传输进测试用例中

    unittest中用ddt传入参数时 传入的参数有几个元素 用例就会执行几次 下面是一个简单的演示 可以复制后直接运行 import numpy as np import unittest import ddt ddt ddt 使用了ddt
  • windows10 修改java环境变量不生效

    一 问题 以前安装过安装版的jdk后 配置过环境变量 然后现在更换jdk版本且修改环境变量并不能生效 如原本安装了1 8 现更换为1 7 且配置了环境变量 但是java version仍显示1 8 二 原因 当使用安装版本的JDK程序时 会
  • FSM——Unity中一个简易的有限状态机的实现

    前言 有限状态机是一种在实现敌人Ai上比较常用的方法 一个最基本的有限状态机可以由三部分组成 1 状态基类 2 状态类 3 载体类 敌人类 玩家类等等 一 首先是状态基类的实现 载体用玩家类来举例 基类中需要实现的主要方法有 1 进入状态时
  • Weblogic远程代码执行漏洞(CVE-2023-21839)复现/保姆级讲解

    目录 引言 产品简介 漏洞描述 影响范围 漏洞复现 环境搭建 JDK安装 Weblogic安装 漏洞利用 漏OracleOracle 引言 本文内容仅供学习参考 若读者利用本文内容做出违法行为 笔者不提供担保 产品简介 WebLogic是美
  • mybatisPlus添加括号条件

    QueryWrapper
  • Wireshark网络抓包之抓取聊天网络数据包

    目录 一 抓包工具 1 Wireshark 2 Wireshark工作流程 二 抓取聊天网络数据包 1 设备连接 2 使用wireshark进行抓包 3 测试分析 三 总结 四 参考链接 一 抓包工具 1 Wireshark Wiresha
  • 【IntelliJ IDEA】idea不能实时编译,无法加载主类等情况

    前言 很多小伙伴使用idea的时候老是会遇到以下几种情况 如果有的呢就可以尝试我自己亲身测试的几个解决办法 代码总是不能实时编译 把代码内容修改之后 还是运行之前的代码 在一台电脑上运行的项目 通过git或者SVN的方式换到另一台电脑 就出
  • MySQL——命令行客户端的字符集问题

    原因 服务器端认为你的客户端的字符集是utf 8 而实际上你的客户端的字符集是GBK 查看所有字符集 SHOW VARIABLES LIKE character set 解决方案 设置当前连接的客户端字符集 SET NAMES GBK
  • 用户和用户组管理

    一 用户账号添加命令 useradd或adduser 介绍 useradd和adduser是完全等价的两条命令 都是用于创建新的用户账号 以useradd为例介绍 格式 useradd op username 选项 举例 useradd c
  • 谈冒烟测试与随机测试

    谈冒烟测试与随机测试来自51testing网 软件测试的种类何其多也 每种测试都有其要达到的目的和实现手段 本文将介绍两种不太普遍的测试类型 冒烟测试与随机测试 冒烟测试 冒烟测试 smoke testing 据说是微软起的名字 在 微软项
  • Ubuntu16.04 完全卸载cuda

    sudo apt get purge remove cuda
  • 解决GO语言编译程序在openwrt(mipsle架构)上运行提示Illegal instruction问题

    RT 最近在研究openwrt mipsle架构 上运行go语言编译出来的程序 一运行就报 Illegal instruction 这样的错误 百度和Google搜索了一遍 得出两种解决方案 PS 更新一遍 当时写这个文档的时候没有发现Go
  • JavaScript(6)-字符串的定义和使用,字符串的属性和方法及Math

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 字符串的定义和使用 1 字符串的定义 2 new String 和String 的区别 二 字符串的属性和方法 1 字符串的属性 2 字符串的方法 函数