js字符串基本数据类型

String是基本数据类型,同时也是基本包装类型。从常规上讲基本类型不应该有方法,为了让我们实现更直观的操作,在调用基本包装类型的方法时,后台会自动完成一系列的处理:

(1)创建String类型的一个实例 (2)在实例上调用指定的方法 (3)销毁这个实例

var s1 = "abc"
s2 = s1.substring(2)

相当于执行了以下代码:

var s1 = new String('abc')
var s2 = s1.substring(2)
s1 = null

引用类型和基本包装类型的区别
主要的区别就是对象的生存期,使用 new 操作符创建的引用类型的实例,在执行流离开当前作用域之前都一直保存在内存中。而自动创建的基本包装类型的对象,只存在于一行代码的执行瞬间,然后被立即销毁,所以我们不能在代码运行的时候给基本类型之添加属性和方法

var str1 = '123';
console.log(typeof str1) //string
 
var str2 = new String('aaa')
console.log(typeof str2) //object
 
var str3 = new Object('111')
console.log(typeof str3) //object
console.log(str3 instanceof String) //true
console.log(str3 instanceof Object) //true

字符串常用方法

var str="hello world";
 
str.charAt(1) //e 返回给定位置的字符
str.charcodeAt(1) //101 返回给定位置字符的字符编码
str[1] //e ie8+

cancat() //可以接受任意多个参数拼接成新的字符串,但不会改变原字符串

slice() //截取字符串,接受一或两个参数(开始位置和结束位置),接受负值时会将负值与字符串长度相加
substring() //截取字符串,接受一或两个参数(开始位置和结束位置,会将较小的参数作为起始位置),接受负值时会将负的参数转换为零
substr() //截取字符串,接受一或两个参数(开始位置和截取的字符个数),接受负值时会将第一个负的参数加上字符串长度,将第二个负的参数转换为0
indexOf() //可接受两个参数,要查找的子字符串和查找起点(可选),找到返回位置,找不到返回-1
lastIndexOf() //从数组的末尾开始查找
trim() //删除前置和后缀的空格 返回的是字符串的副本,原始字符串不变

toLowerCase() //转小写
toUpperCase() //转大写
toLocaleLowerCase() //转小写,针对地区的方法
toLocaleUpperCase() //转大写,针对地区的方法

match() //接收一个参数,正则表达式或者RegExp对象
search() //接受一个正则,返回字符串中第一个匹配项的索引,没有返回-1
replace() //替换字符串。接受两个参数,第一个是一个字符串或者RegExp对象,

//第二个参数是一个字符串或者函数。如果第一个参数是一个字符串,
//那么只会替换第一个子字符串,要想替换所有唯一的方法就是提供一个
//正则表达式,指定全局g标志

//replace()方法的第二个参数也可以是一个函数
function(match,…,pos,originalText){
match //模式的匹配项
… //正则表达式定义了多个捕获组的情况下,是第二,三…匹配项
pos //模式的匹配项在字符串中的位置
originalText //原始字符串
}
split() //分割字符串,并返回一个数组。第一个参数接受一个分隔符(可以是字符串或者RegExp对象)
//可选的第二个参数用于指定返回数组的大小
localeCompare() //比较两个字符串,如果字符串在字母表中应该排在字符串参数之前,返回一个负数。相等返回0,之后返回正数

String.fromCharcode() //构造函数本身的静态方法,接收一个或多个字符编码,转换成字符串,与charCodeAt相反**

猜你喜欢

转载自blog.csdn.net/weixin_48895522/article/details/109479743
今日推荐