在学习js的过程中,不了避免的要用到字符串,所以是必须掌握的.String是Js中最常用的对象,就是这样一个最常用最普通的对象,当你深入研究时却发现我们并不是真的很了解它,那么让我们一起来学习它吧.
首先 我们怎么创建一个字符串呢?
var a = new String("Hello World");
如果我们想打印字符串中的某一项 那应该怎么做呢?
这里就用到了 charAt()
charAt()是 以单字符串的形式返回给定位置的那个字符
它接收一个参数,即基于0的字符位置(下标)。
例:
var a = "Hello world";
console.log(a.charAt(1)); //e
需要了解:String构造函数本身还有一个静态方法。
fromCharCode() 方法
接受一个或多个字符编码,然后将他们转换成一个字符串。
例:
console.log(String.fromCharCode(104,101,108,108,111)); //hello
如果我们想拼接两个字符串,就要用到concat() ;
concat() 用于将一个或多个字符串拼接起来,返回拼接得到的新字符串。
例
var a = "hello";
var b = "word";
console.log(a.concat(b));// "helloword"
如果我们想找到一个字符串某个数 对应的下标 这里就要用到indexof() lastIndexof()
例:
var str = "hello world";
console.log(str.indexof("o")); //4 从前往后找,找到第一个o的下标 并返回 这个下标
console.log(str.lastIndexof("o")); //7 从后往前找,找到第一个o的下标 并返回这个下标
console.log(str.indexof("o",6)); //7 从前往后找,从下标为6的数开始找o,找到 并返回这个下标
console.log(str.lastIndexof("o",6)); //4从后往前找,从下标为6的数开始找o,找到 并返回这个下标
如果检测不到返回-1
ES还提供了三个基于子字符串创建新字符串的方法:slice()、substr() 和 substring()。这三个方法都会返回被操作字符串的一个子字符串,而且都接受一或两个参数。第一个参数指定子字符串的开始位置,第二个参数有所不同。具体来说就是,slice()和substring()的第二个参数指定的是子字符串最后一个字符后面的位置。而substr()的第二个参数指的是返回的字符的个数。如果没有给这些方法传第二个参数,则将字符串的末尾作为结束位置。都不会修改字符串本身(子字符串)。
例:
substr
var str1 = "hello world";
console.log(str1.substr(3));//lo world 只有一个数 表示从下标为3的数开始截取,截取到末尾
console.log(str1.substr(3,5));// lo wo 有两个数 第一个数表示从下标为3的数开始截取,第二个数表示截取个数为5
console.log(str1.substr(-3));// rld 从下标为-3的数开始往后截取 截取完
console.log(str1.substr(3,-4))// '' 第二个数为截取个数 如果为负数 则为空
substring
var str2 = "hello world";
console.log(str2.substring(3));//lo world 只有一个数 表示从下标为3的数开始截取 截取到末尾
console.log(str2.substring(3,7));//lo w 有两个数 第一个数表示开始下标 第二个数表示截取下标为7的前一位
console.log(str2.substring(-3));// hello world 如果只有一个数 为负数,先把它转换为0 然后从头截取到结束 全部打印
console.log(str2.substring(3,-4));// hel 如果有两个数,先把负数转为0(3,0),将较小到数作为开始位置(0,3)
slice
var str3 = "hello world";
console.log(str3.slice(3)); //lo world 只有一个数 表示从下标为3的数开始截取,截取到末尾
console.log(str3.slice(3,7));// lo w 有两个数 第一个数表示开始下标 第二个数表示截取下标为第二个数的前一位
console.log(str3.slice(3,-7));//l 有两个数 第一个数表示开始下标 第二个数表示截取下标为第二个数的前一位
js小白 ,如有错误,望多指教