提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
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) //开平方