在正式开始之前,首先需要明白下面的一些问题:
当我们使用
let str="123;str.XX()
的时候,这个过程发生了下面的事情:
- 创建String类型的一个实例;
- 在实例上调用指定的方法;
- 销毁这个实例
也就是说这个包装只有失去了使用的价值,就会立即销毁。
这也引申出了下面的一个问题:
为什么在基本类型上面无法定义属性和方法?
每当读取这三种基本类型值时,后台会创建对应的包装类型实例,这个实例会调用指定方法, 调用完会被销毁。这种短暂的生命周期决定了我们不能为基本类型添加自定义的属性和方法。
首先,定义一个基本类型的字符串。
注意:在使用str.XXX()方法的时候,由于都会生成一个String的类型,所以并不会改变str本身的值,所以str的值始终都是哈哈哈你 好吗?
.
let str=" 哈哈哈你 好吗? "; console.log('str的数据类型是',typeof str);
let str1=str.anchor("123456") console.log(str1);
let str2=str.big(); console.log(str2);
let str3=str.blink(); console.log(str3);
let str4=str.charAt(3); console.log(str4);
let str5=str.charCodeAt(0); console.log(str5);
let str6=str.codePointAt(0); console.log(str6);
let str7=str.concat('123','456');
let str8=str.endsWith('哈',4); console.log(str8);
let str9=str.fixed(); console.log(str9);
let str10=str.fontcolor('red'); console.log(str10);
let str11=str.fontsize(20); console.log(str11);
let str12=str.includes("哈您",1); console.log(str12);
let str13=str.indexOf("哈") console.log(str13);
let str14=str.lastIndexOf("哈"); console.log(str14);
let str15=str.localeCompare("123"); console.log(str15);
let str16=str.match(/哈/g); console.log(str16);
let str17=str.matchAll("哈"); console.log(str17);
let str18=str.normalize(); console.log(str18);
let str19=str.padEnd(12,0); console.log(str19);
let str20=str.padStart(12,0); console.log(str20);
let str21=str.repeat(3); console.log(str21);
let str22=str.replace(/哈/g,'嘻'); console.log(str22);
let str24=str.search(/哈/g); console.log(str24);
let str25=str.slice(3,4) console.log(str25);
let str26=str.split(""); console.log(str26);
let str27=str.startsWith("哈"); console.log(str27);
let str28=str.sup(); console.log(str28);
let str29=str.substr(1,3); console.log(str29);
substring(),截取[1,3)区间内的子串,不包括尾下标的元素,
// 与slice有什么区别呢?
let str30=str.substring(1,3);
console.log(str30);
toLowerCase()全部转化为小写进行表示
let str31=str.toLowerCase() console.log(str31);
let str32=str.trim(); console.log(str32);
let str33=str.trimEnd(); console.log(str33);
字符串的这些方法很多都已经废弃,比如像sub() sup() big()
,这些都会返回一个HTML标签元素,这些方法已经被逐渐废除了,最好不要使用了。
注意:不管是什么操作,都不会改变原有的字符串。