博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript 字符串简介
阅读量:6898 次
发布时间:2019-06-27

本文共 2863 字,大约阅读时间需要 9 分钟。

字符串的定义

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

    • 方式一(推荐): var str = '海贼王'; //基本类型
      定义了一个字符串变量str,内容为'海贼王'
    • 方式二: var str = new String("火影"); //引用类型

      定义一个字符串变量str,内容为火影,
      注意: 此刻str为引用类型(object对象)

      用new产生的变量都是引用类型的变量,也叫对象
    • 方式三: var str = String('柯南');
      基本类型: string, number, boolean, undefined等
      引用类型/对象: Array , Date, Object, String, Function等
  • new String()和String()的区别
    var s1 = new String('千与千寻');
    var s2 = String('千与千寻');
    console.log(typeof s1); //object
    console.log(typeof s2); //string

    当String()和元素符new一起使用, 那么String()是作为构造函数使用的,它返回的是一个新创建的String对象. (构造函数后面课程会讲)

    当不用new运算符调用String()时,它只是转换成原始的字符串,并返回转换后的值.

字符串的属性

  • .length: 表示字符串的长度

    例如 : var str = 'how are you';

    console.log(str.length);       console.log(str[0]);  //获取字符串中对应下标的字符

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

例如: var str = 'how are you';

str[0] = 'year';  //不会改变

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

var str = hello'';
str = str+'world!';

字符串的获取

  • str.charAt(x); 返回指定索引的字符

返回在字符串str里索引(位置、下标)为x的字符

  • str.charCodeAt(x); 返回的是位于指定索引的字符的编码 (ASCII码)

返回在字符串str里索引为x的字符的编码(ASCII码)

  • 将ASCII编码转换成字符 (该方法是String的静态方法,所以用String调用)

String.fromCharCode(73,76,79,86,69,85); //"ILOVEU"

字符串连接

  • str.concat('xx','yy');字符串连接(连接多个用逗号分隔开)

字符串str连接字符串'xx','yy'

字符串查找

  • str.indexOf('xxx'); 返回某个指定的字符串值在字符串中首次出现的位置

返回在字符串str里查找字符'xxx'第一次出现的位置(索引), 如果没找到则返回-1

  • str.lastIndexOf('xxx'); 返回一个指定的字符串值最后出现的位置

返回在字符串str查找字符'xxx'最后一次出现(从后向前搜索)的索引, 如果没找到则返回-1

  • str.search(): 查找第一次出现的位置, 但是参数可以是正则表达式
var str = "ABCdabcd";var index = str.search("abc");console.log(index); //4//  /abc/ : 两个斜杠是正则表达式的语法(类似数组要写[]),中间就是你要匹配的字符串//  g: global代表全局范围, i:ignore忽略大小写var index = str.search(/abc/gi);console.log(index);

字符串替换

  • str.replace(); 替换字符串

//在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

//str.replace(参数1,参数2)
//参数1是原字符串的某些字符,参数2是新替换的字符串内容
//返回一个新的(重新替换后的)字符串

例如: var str = 'how are Are are you!';         var newStr = str.replace('are','old are');这里的替换只能执行一次,不能够进行全局匹配,如果需要全局匹配,则应使用正则表达式: str.replace(/are/gi, "old are") //g表示进行全局匹配,i表示匹配的时候忽略大小写

字符串的截取与拆分

  • str.substring(开始索引,结束索引); 截取字符串 范围是[开始索引,结束索引)

如果只有一个参数, 则表示到字符串最后

  • str.split(separator, howmany); 根据分隔符、拆分成数组

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

howmany(可以指定返回的数组的最大长度, 可以省略)
注:如果空字符串('')用作separator, 那么stringObject中的每个字符之间都会被分割。

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

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) //开平方

console.log(Math.round(3.49)); //3,四舍五入console.log(Math.random()); //随机数console.log(Math.max(3, 4)); //4,较大值console.log(Math.min(3, 4)); //3,较小值console.log(Math.abs(-3)); //3,绝对值console.log(Math.ceil(2.1)); //3, 向上取整console.log(Math.floor(2.9)); //2, 向下取整console.log(Math.pow(4, 3)); //64, 4的3次方console.log(Math.sqrt(64)); //8, 开根号

转载地址:http://jycdl.baihongyu.com/

你可能感兴趣的文章
阿里云&数数科技联合打造新一代游戏数据分析系统正式上线
查看>>
3-51单片机ESP8266学习-AT指令(开发板8266底层源码介绍)
查看>>
机器学习之父Michael I.Jordan刚发了一篇长文反思人工智能,从一个生死攸关的故事说起...
查看>>
除了求婚和送货,无人机还可以用来打游戏
查看>>
民生银行与华为成立联合创新实验室:聚焦七大领域 ,构建“科技+金融”新生态...
查看>>
基于Java语言构建区块链(六)—— 交易(Merkle Tree)
查看>>
【AI科幻】地球陨落·真相(下)
查看>>
s2sh框架搭建(基于spring aop)
查看>>
在 Windows Server 2003 中重置目录服务还原模式的管理员帐户密码
查看>>
AOP简介AOP是什么?
查看>>
SQL Server 2012实施与管理实战指南(笔记)——Ch4数据库连接组件
查看>>
C#实现WinForm DataGridView控件支持叠加数据绑定
查看>>
Zygote浅谈
查看>>
X11 XFREE WM KDE GNOME xorg概念
查看>>
basename函数
查看>>
解决npm安装依赖缓慢的问题
查看>>
hadoop 搭建过程中的一些坑
查看>>
Git分支
查看>>
iptables规则添加
查看>>
Python 模块 - OS模块
查看>>