JavaScript 笔记 Day04 字符串

本文详细介绍了JavaScript中字符串的删除、截取、比较和编码等操作,包括replace、substr、substring、split等方法,以及localeCompare函数的使用。同时,文章还涉及到了算术运算符、赋值运算符、关系运算符和逻辑运算符的用法,讲解了其在字符串处理中的应用。
摘要由CSDN通过智能技术生成

一.字符串补充
1.字符串删除
     var  s1="hello"
     s2=s1.replace("e",""); //hllo
     s2=s1.replace(s1[3],"")

    //*删除字符串中的所有的数字
    function f1(n1){
        for(var i=0;i<n1.length;i++){
            if(n1.charCodeAt(i)>=49&&n1.charCodeAt(i)<=57){
                n1=n1.replace(n1[i],"")
                i=i-1
            }

        }
        alert(n1)
    }
    f1("he123llo")

(2)删除字符串的第一位   s1.substr(1)
   删除字符串的最后一位   s1.substr(0,s1.length-2)
 

(3)截取字符串的开始和结束  substring
   s1.substring(3,s1.length-1)

(4)删除指定的字符 split
    s1="helloworld"
    s2=s1.split("o")  --[hell,w,rld]
    数组方法:由数组转字符串 join
    s2.join("")  hellworld   //hellwrld

    s2.join("3")  hell3w3rld   //hell3w3rld
    

2.字符串的比较
    (1)localeCompare:调用本地操作系统的排序规则 
        v1=v2   返回0   字母顺序  
        v1排在v2之前,返回-1
        v1排在v2之后,返回1


    s1="abc"
    s2="edf"
    s3="abc,edf"

    s1.localeCompare(s2)  //-1

    "yellow".localeCompare("yellow")  //0
    "yellow".localeCompare("blue")   //1
    "yellow".localeCompare("zoo")   //-1

    //英文比较
    v1.localeCompare(v2)

      "3ellow".localeCompare("9oo")   -1   
      "3ellow".localeCompare("3oo")  -1
       "ellow".localeCompare("Zoo")  -1   大小写对比ASCII码   
    
    alert("a">"A")  //true    alert比较ASCII码
    alert("a".localeCompare("A"))  //-1

    
    alert("北京".localeCompare("上海")) //-1   中文比较拼音前后顺序

    (2)alert("a">"A")  true 按ASCII码比较
3.字符串编码 
(1)charCodeAt()
   s1="a"
   s1.charCodeAt(0) //97

   s1="海"
   s1.charCodeAt(0)  //28023

(2)fromCharCode()  :根据ascii或者Unicode码的10进制进行解析
    String.fromCharCode(65)  //A
    String.fromCharCode(28023)  //海
    
    计算器16进制转化成10进制
    张  5F20  -->24352

    练习: 用户输入必须为中文
        4e00-9fcf  19968-40911

(3)escape
    s1="海"
    escape(s1)  \u6D77
    unescape("\u6D77")   //海

    encodeURI(s1)    //%E6%B5%B7   加密
    decodeURI(%E6%B5%B7  )

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

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

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

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

    a++  先运算后加减 
    ++a  先加减后加减 

特例: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=false 
    a++
    --a         //0
 
 浮点精度差问题
    a=1.2
   console.log( --a )         //0.19999999999999996
     console.log(0.1+0.2)  //0.30000000000000004

     a="001"
    a++
     console.log(a--); //2


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

    a=12 b=11   
    c=a*=b+5    c=137
    c=a/=b+3*(b+=4)   // 15 45 60  c=0.2
    c=a++ -4*b--    //40 -32
    c=b-- + a++*(a-= 3 + ++b)   //-1

3.关系运算符 
    >  <  ==  ===  >=  <=  !=

    a=2
    b="2"
    a==b   //true
    a===b   // false
 -------------------------------------------------------
==与===的区别????
    ==  代表相同:先检查两个操作数的数据类型,
        如不同可进行转换,在进行数值的比较,
        如果相同,则调用===来进行比较
            null == undefined     //true

    === 严格相同:如果类型不同直接判断不同
            null === undefined   //false

    null === null  //true
    undefined === undefined   //true
    
------------------------------------------------------------
    "5"==5    //true
    "5"===5   //false
    NaN==NaN  //false   NaN不参与任何比较 本身也不等于本身
    null==0   //false
    undefined==0  //false
    true ==1    //true


    "Black">"Mick"   //false
    "23"<"3"         //
    "a"<"3"

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

    ||    一个为真即为真
    !    真变假,假变真
    a=10
    b=20
    if(a>10 && b>20){
        ...y
    }else{
        ...n
    }

    var a=100
    var b= false
    var c=(b&&(a=25))
    console.log(a)   ---100

    var a ="1" && true && 0 && false && "abc"
    a=0
     var a ="abc" && true && "123"
     a=123

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值