JS中substr和substring的用法和区别
substr和substring都是JS截取字符串函数,两者用法很相近,
-
substr方法
返回一个从指定位置开始的指定长度的子字符串。
string.substr(start[,length])
注意: length可选项。如length为0或负数,将返回一个空字符串。如果没有指定该参数,
则子字符串到string的最后。 -
substring 方法
返回位于String对象中指定位置的子字符串。
string.substring(start,end)
注意:
substring方法将返回一个包含从 start到最后(不包含end)的子字符串的字符串。 -
示例代码
var str="I love JS!";//有一个str字符串,如想获取JS子字符串,用两种方法如何实现。
str.substr(7,2); //获取子字符串
str.substring(7,9); //获取子字符串
区别:第二参数,substr第二个参数是获取子字符串的长度,
substring第二个参数是获取子字符串的结束位置。
- 注意事项
substr和substring两个函数截取带有空格的字符串后的长度是每个空格算一个字符长度。例如:
var a = "I am imooc!";
a.substring(0, 5).length的值是5,而不是4,但alert(a.substring(0, 5));的值却是I am ,这样在做alert("I am" == a.substring(0, 5));的时候就是false了,alert("I am" == a.substring(0, 4));才是true。
++a 与 a++的区别
a++是运算后自增,而++a是自增在运算(即++a先自加再去值,a++先取值在自加)
相同点:
a++ 和 ++a中,i的值自增1,也就是a=a+1;
不同点:
a++: 把(a++)作为一个整体表达式,a的值虽然自增1,但是整个表达式的值是取a自增之前的值;
++a: 也把(++a)作为一个整体表达式,a的值也自增1,但是整个表达式的值是取a自增之后的值。
看实例:
m=a++ 相当于 m=a,a=a+1
m=++a 相当于 a=a+1,m=a 这种自加运算和自减运算,都相当于两步骤
总结: a++ 是先把 a 赋值,然后自己加一, ++a,是先自己加一,然后再把 a 赋值。
JS 中“=”与 “”比较的区别
- 用于一般比较,在比较的时候可以转换数据类型。
- =用于严格比较,=严格比较,只要类型不匹配就返回flase。
- 看一个简单的例子:
给定 x=5
== 等于 x8 为 false
=== 全等(值和类型) x=5 为 true;x==="5" 为 false