一、字符串补充
1、字符串删除
var s1="hello"
s1=s1.replace("e","")
2、删除字符串的第一位,删除字符串的最后一位,substr
function f1(a1){
var a=a1.substr(1,a1.length-2)
alert(a)
}
f1("qwertyu")
3、截取字符串的开始和结束 substring
function f1(a1){
var a=a1.substring(0,1)
var b=a1.substring(a1.length-1)
alert("起始"+a+"最后"+b)
}
f1("asdfgh")
4、删除指定字符
s1=“helloworld”
s2=s1.split("0")
s2.jion("")
s2.jion("3") hell3w3rld
5、字符串比较
(1)localeCompare:调用本地系统比较
s1="abc"
s2="edf"
s1.localeCompare("s2")
"yellow".localeCompare("yellow")
"yellow".localeCompare("blue")
"yellow".localeCompare("zoo")
//英文比较
v1.localeCompare(v2)
v1=v2 返回0
v1排在v2之前,返回-1
v1排在v2之后,返回-1
(2)alert("a">"A") true 按ascii码比较
二、字符串编码
(1)charCodeAt()
s1="a"
s1.charCodeAt(0)//97
s2="海"
s2.charCodeAt(0)//28023
(2)fromcharcode()
String.fromCharCode(65)
String.fromCharCode(28023)
(3)
s1="海"
escape(s1)
unsecape()
二、操作符
1、运算操作符
+ - * / %(取余、取模)
a=a+1 a++
a=a-1 a--
a=1
console.log(a++)
console.log(++a)
a++ : 先运算,后加减
++a :先加减,后运算
var a=1
b=a++ + ++a + a++ = 7
var a=3
alert(b=a++ + --a + ++a + a--) = 14
0+0=0
-0 + -0 = -0
Infinity + Infinity = Infinity
-Infinity + -Infinity = -Infinity
Infinity + -Infinity = NaN
5-"2" = 3
"5"-2 = 3
5-true = 4
5-"" = 5
5-null = 5
NaN-1 = NaN
infinity * 0 = NaN
0/0 = NaN
infinity/infinity = NaN
"m"+1+1 = m11
1+1+"m" = 2m
a=1.2
console.log(--a) //0.19999999999999996(浮点精度问题)
a=“001”(当做1计算)
2、赋值运算符
+= -= *= /= %=
a=a+3 --> a+=3
3、关系运算符
> < == ===(恒等于) >= <= !=
a=2 数值型
b=“2” 字符型
== :代表相同,先检查两个操作数的数据类型,如不同,可进行类型转换,再进行值得比较
如果相同,则调用===恒等于比较
null==undefined true
=== :代表严格相同,如果类型不同,直接判断不同
null===indefinite false
4、逻辑运算符
&& :都为真才为真
短路运算符--js以此获取每一个操作数,将他们转换为布尔变量,如果是false,则中断后面的处理,返回这个操作数的值,
否则继续处理下一个操作数,返回最后操作数的值,以上称为逻辑判断的短路运算
|| :一个真即为真
! :真变假假变真