JavaScript 字符串
B站关联视频教程:https://www.bilibili.com/video/BV1RA41137yd?p=10
目录:
2、字符串分割方法 【split 注意:对应 数组串接方法join】
3、toString()方法可把(一个 Number) 对象转换为一个字符串,并返回结果。
5、 字符串第一次出现处的索引【indexOf()】 和最后一次出现的索引【 lastIndexOf()】
str对象.replace("a","b");str对象.replace(正则,"b")
……
内容:
定义:JavaScript 字符串是引号中的零个或多个字符。
功能:JavaScript 字符串用于存储和操作文本。
<h2>JavaScript 字符串</h2>
<p id="demo"></p>
<script>
var x = "itwenda.com"; // 用引号包围的字符串
document.getElementById("demo").innerHTML = x;
</script>
您能够使用单引号''或双引号""。
var x = 'itwenda.com'; 或 var x = "itwenda.com";
<script>
var x = "'itwenda.com'";
var y = '"itwenda.com"';
var z = '\'itwenda.com\'';
document.write(x);//'itwenda.com'
document.write("<br/>");
document.write(y);//"itwenda.com"
document.write("<br/>");
document.write(z);//'itwenda.com'
</script>
针对一些特殊字符,只想让他按普通字符展示,这个时候,就需要用到\转义字符。
以下六个转义字符最初设计用于控制打字机、电传打字机和传真机。它们在 HTML 中没有任何意义。
| 代码 | 结果 |
|---|---|
| \b | 退格键 |
| \f | 换页 |
| \n | 新行 |
| \r | 回车 |
| \t | 水平制表符 |
| \v | 垂直制表符 |
通常,JavaScript 字符串是原始值,通过字面方式创建:
var str= "itwenda.com"
字符串也可通过关键词 new 定义为对象:
<script>
var str= new String("itwenda.com");
document.write(str);
</script>
请不要把字符串创建为对象。它会拖慢执行速度。
<script>
var x = "itwenda.com";
var y = new String("itwenda.com");
document.write(typeof x);//string
document.write("<br/>");
document.write(typeof y);//object
</script>当使用 == 相等运算符时,x,y是相等的。
当使用 === 相等运算符时,x,y是不相等的。
<script> var str="itwenda.com"; document.write(str.length);//11 </script>
2、字符串分割方法 【split 注意:对应 数组串接方法join】
<script>
var arr="2:3:4:5".split(":");
document.write(typeof(arr)+arr);//将返回["2", "3", "4", "5"]
var arr1="|a|b|c".split("|");
document.write(typeof(arr1)+arr1);//将返回["", "a", "b", "c"]
document.write("<br/>");
document.write(arr1[1]);//a
</script>3、toString()方法可把(一个 Number) 对象转换为一个字符串,并返回结果。
<script>
//var n= new Number(666);
var n=666;
var y=n.toString();
document.write(typeof y);//string
document.write("<br/>");
document.write(y);//666
</script> <script>
var n= true;
var y=n.toString();
document.write(typeof y);//string
document.write("<br/>");
document.write(y);//true
</script> <script>
var n= 0;
var y=n.toString();
document.write(typeof y);//string
document.write("<br/>");
document.write(y);//0
</script>js中substr和substring都是截取字符串中子串,非常相近,可以有一个或两个参数。
语法:substr(start [,length]) 第一个字符的索引是0,start必选 length可选
substring(start [, end]) 第一个字符的索引是0,start必选 end可选
相同点:当有一个参数时,两者的功能是一样的,返回从start指定的位置直到字符串结束的子串
<script> var str = "itwenda.com"; var a=str.substr(6); //a.com document.write(a+"<br/>"); var a=str.substring(6); //a.com document.write(a+"<br/>"); </script>
不同点:有两个参数时
(1)substr(start,length) 返回从start位置开始length长度的子串
<script> var a="itwenda.com".substr(1,6); document.write(a+"<br/>");//twenda </script>
【注】当length为0或者负数,返回空字符串
(2)substring(start,end) 返回从start位置开始到end位置的子串(!!不包含end)
<script> var a="itwenda.com".substring(1,6); document.write(a+"<br/>");//twend </script>
【注】:
(1)substring 方法使用 start 和 end 两者中的较小值作为子字符串的起始点
(2)start 或 end 为 NaN 或者负数,那么将其替换为0
5、 字符串第一次出现处的索引【indexOf()】 和最后一次出现的索引【 lastIndexOf()】
<script>
var str="Hello world! world"
document.write(str.indexOf("world") + "<br />") //6
document.write(str.lastIndexOf("world") + "<br />") //13
</script>str对象.replace("a","b");str对象.replace(正则,"b")
<script>
var str="hi,js";
//str2=str.replace(/hi/,"hello");//正则
str2=str.replace("hi","hello");//hi字符替换为hello
document.write(str2);//hello,js
</script>

更多建议: