字符串操作符

一丶字符串补充
1.字符串删除
 var s1="hello"
        s2=s1.replace("e","")
        console.log(s2);  //hllo
2.字符串比较
(1)localeCompare:调用本地操作系统的排序规则
        s1="abc"
        s2="edf"
        // s3="abc,edf"
        console.log(s1.localeCompare(s2));  //-1
        console.log("yello".localeCompare("yello")) //0
        console.log("yello".localeCompare("blue"))  //1
        console.log("yello".localeCompare("zoo"))  //-1

        // console.log("yello".localeCompare("yello")) //-1
        // console.log("yello".localeCompare("blue"))  //1
        // console.log("yello".localeCompare("zoo"))  //-1

        // alert("a">"A")  //true

    //  console.log("a".localeCompare("A"));  //-1
     

v1=v2  返回0
v1排在v2之前,返回-1
v1排在v2之后,返回1

中文比较---按拼音

  console.log("北京".localeCompare("上海"))  //-1

    alert("a">"A")  //true

排序(升序)
  a1.sort((a,b)=>{return a.localeCompare(b)})
  console.log(a1);

(2)alert("a">"A") trueo  按ascii码比较

3.字符串编码
(1)charCodeAt()
    s1="a"
     console.log(s1.charCodeAt(0))  //97
     s2="海"
     console.log(s2.charCodeAt(0))  //28023
(2)fromCharCode()
 console.log(String.fromCharCode(65))  //A
 console.log(String.fromCharCode(28023))  //海
(3)escape()输出unicode码
unescape()根据unicode码输出
    s1="海"
    console.log(escape(s1="海"));  //%u6D77
    console.log(unescape("\u6D77"));  //海

二丶操作符
+ - / %

a=1
console.log(a);  // 1
console.log(a++);  //1
console.log(a);   //2

console.log(a);  // 1
console.log(++a);  // 2
console.log(a);  //2
a++  先运算后加减
++a  先加减后运算

var a=1
b=a++ + ++a +a++
console.log(b);  //7


console.log()
0+0  //0
-0+-0  // -0
infinity+infinity  //infinity
-infinity+-infinity  // -infinity
infinity+-infinity  //NaN

5+5   //10
"5"+5  //55
隐式类型转换
5-"2"   //3
"5"-"2"  //3
5-true   //4  5-1
5-""   //5   5-0
5-null  //5
NAN-1  //NaN

infinity*0   //NaN

0/0  //NaN
infinity/infinity  //NaN

"m"+1+1  //m11
1+1+"m"  //2m
"m"+(1+1)  //m2

a=flase
a++  //0
--A  //-1

a=1.2
--a  //0.19999999999999  浮点精度误差问题

a="001"   当作1
a++  //1
a--   //1


2.赋值运算符
+=  -+  *=  /=   %=

a=1
a=a+3--->  a+=3

a=12  b=11
c=a*=b+5   //192
c=a/=b+3*(b+=4)  //46.09090909090909
c=a++ -4*b--  //-32
c=b-- + a++*(a-=3 + ++b)  //263

3.关系运算符
> < == ===恒等于  >=  <=  !=
 
a=2  数值型
b="2"  字符型
console.log(a==b);   //true
console.log(a===b);  //flase

console.log(null==undefined); //true
console.log(null===undefined); //flase

==代表相同,先检查两个操作数的数据类型,
如发现不同可进行类型转换,再进行数值的比较
如果相同则调用===比较

===代表严格相同,如果类型不同,直接判断不同

Ascii码
console.log("Black">"Mick");  //flace
// console.log("23">"3");  //flace
// console.log("a">"3"); //true


4.逻辑运算符
&& 都为真才是真
短路运算符--
js一次获取每一个操作数,将他们转换为布尔变量 
如果是false则中断后面的处理 返回这个操作数的值,
否则继续处理下一个操作数 以上称为逻辑运算短路机制
|| 一个为真即为真
!真变假假变真

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值