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


文章目录

  • 前言
  • 一、字符串的定义和使用
  • 1.字符串的定义
  • 2.new String()和String()的区别
  • 二、字符串的属性和方法
  • 1.字符串的属性
  • 2.字符串的方法(函数)
  • 字符串的查找方法
  • 三、Math
  • 1.Math对象



前言

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