字符串的属性和方法
字符串是JS的一种数据类型
一般直接定义 推荐
var str="abcd";
字符串属性
字符串可通过.length获取长度
var str ="ab cd"
console.log(str.length)
长度为5 空格也是一位字符
注意: ECMAScript中的字符串是不可变的;也就是说,字符串一旦创建,它们的值就不能改变.
如果要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量.
字符串的方法
str.charAt() 获取对应下标的字符
str.charCodeAt() 获取对应下标字符的ASCII码
String.fromCharCode() 将ASCII码转换为对应的字符 该方法是String的静态方法,所以用String调用
var str =String.fromCharCode(98,99); //可传入多个参数
str.concat() 连接字符串
var str ="hello"
var str1=str.concat(" world") //连接字符串
console.log(str1);
str.indexOf()查找字符串第一次出现的位置 没能找到返回-1 后面可以再写一个参数 表示从哪个下标开始找
var str="abcdccc"
var substr="dc"
var index=str.indexOf(substr) //返回的substr第一位字符"d"在str中首次出现的下标
console.log(index);
str.lastIndexOf()查找字符串最后一次出现的位置 没能找到返回-1 后面可以再写一个参数 表示从哪个下标开始找
srt.search() 正则匹配 与indexOf()的区别是可以使用正则表达式
例如:
var str = “Abcdabcd”;
var index = str.search(/abc/gi);
g表示进行全局匹配,i表示匹配的时候忽略大小写
str.replace() 替换字符串
var str=("hello world");
var srt1=str.replace("hello","hi")
表示将str中的hello替换为hi
这里的替换只能执行一次,不能够进行全局匹配,如果需要全局匹配,则应使用正则表达式: str.replace(/are/gi,"old are")
str.substring(start,end) 截取字符串 范围是[start,end) 里面写下标
str.substr () 也是截取字符串,与substring的不同是end处写截取的个数,从选定的下标开始截取若干个字符
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) //开平方