字符串 操作符

一、字符串补充
1、字符串删除
(1)replace
var s1 = “hello”
console.log(s1.replace(“e”,“”))
console.log(s1.replace(s1[3],“”))

(2)删除字符串的第一位
    删除字符串的最后一位
    substr

(3)截取字符串的开始和结束
    substring

(4)删除指定字符
    s1="helloworld"
    split

    数组方法:由数组转字符串  join
    s2.join("")

2、字符串的比较
(1)localeCompare:调用的本地操作系统的排序规则
s1 = “abc”
s2 = “edf”
//s3 = “abc,edf”
s1.localCompare(s2)

//英文比较
v1.localCompare(v2)
v1=b2   返回的是0
v1排在v2之前,返回-1
v1排在v2之后,返回1

    function f1(a1){
        a1.sort((a,b)=>{return a.localeCompare(b)})
        =>箭头函数
        console.log(a1)
    }
    f1(["哈尔滨","北京","上海","杭州","深圳"])
(2)alert("a">"A")  true  按ascii码比较

3.字符串编码
(1)charCodeAt
s1 = “a”
console.log(s1.charCodeAt(0)) //97
s2 = “海”
console.log(s2.charCodeAt(0)) //28023

(2)fromcharcode():根据ascii或unicode码的十进制进行解析
    console.log(String.fromCharCode(65))        //A
    console.log(String.fromCharCode(28023))     //海

(3)escape()   --输出unicode码
    unescape()  --根据unicode码输出字符


    var s1 = "海"
    console.log(escape(s1))             //\u6D77
    console.log(unescape("\u6D77"))     //海

    console.log(encodeURI(s1))          //%E6%B5%B7
    encodeURI()     加密
    decodeURI()     解密

二、操作符
1、算术运算符
+ - * / %(取余、取模)
++ –

a=a+1  a++
a=a-1  a--

    var 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(a,b)             //4,7

    var a=3
    b=(a++)+(--a)+(++a)+(a--)
    console.log(a,b)                //3,14


    console.log(0+0)                    //0
    console.log(-0+-0)                  //-0
    console.log(Infinity+Infinity)      //Infinity
    console.log(-Infinity+-Infinity)    //-Infinity
    console.log(Infinity+-Infinity)     //NaN
    console.log(5+5)                    //10
    console.log("5"+5)                  //55

    console.log(5-"2")                  //3
    console.log("5"-"2")                //3
    console.log(5-true)                 //4
    console.log(5-"")                   //5     相当于5-0
    console.log(5-null)                 //5
    console.log(NaN-1)                  //NaN

    console.log(Infinity*0)             //NaN

    console.log(0/0)                    //NaN
    console.log(Infinity/Infinity)      //NaN

    console.log("m"+1+1)                //m11
    console.log(1+1+"m")                //2m
    console.log("m"+(1+1))              //m2

    var b=false
    console.log(b++)                    //0
    console.log(--b)                    //-1

    var c=1.2
    console.log(--c)                    //0.19999999999999996     浮点精度差问题
    
    var d="001"
    console.log(d++)                    //1
    console.log(d--)                    //1

    console.log(0.1+0.2)                //0.30000000000000004

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

a=a+3  -----  a+=3

3、关系运算符
> < == ===(恒等于) >= <= !=

    var a=2     (数值型)
    var b="2"   (字符型)
    console.log(a==b)       //true
    console.log(a===b)      //false

    ==      代表相同,先检查两个操作数的数据类型,如不同,可进行类型转换,再进行值的比较
        如果相同,则调用===进行值的比较
        console.log(null==undefined)        //true
    


    ===     严格相同,如果类型不同,直接判断不同
            如果类型不同,就一定不等
        console.log(null===undefined)       //false

    console.log(null==0)        //false
    console.log(undefined==0)   //false
    console.log(true==1)        //true

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值