zoukankan      html  css  js  c++  java
  • JAVASCRIPT 转换字符串杂记

      Number()遇到null会转换为0,遇到underfind会转换为NaN。

      一般整数用parseInt()方法,遇到空会转换成NaN。(注意差别)该方法可设置第二个参数 parseInt(“要转换字符串”,几进制)。遇到小数点会停止解析,后面忽略。

      parseFloat()也是从第一个字符开始解析,直到末尾或者遇见一个无效的浮点数字字符(第二个小数点)为止。十六进制字符串始终被解释为0,只解析十进制,没有第二个参数。


      toString()方法可以直接调用不需要输入参数,在调用数值的toString()方法时,可以传递一个参数,输出值的基数,二进制到十六进制都可以,默认情况下是十进制。


      --和++ 

      当操作符在被操作值之前,执行前置递增和递减操作时,变量的值都是在语句被求职以前改变的。

      后置递增和递减操作是是在你包含他们的语句被求值之后才执行的。  


      位操作符(这玩意有啥用?)、

      将字符串变成32位二进制码,从右向左方向,第三十二位表示为正负号。理论上无符号就是正整数,切无符号第32位可以表示数字而非符号,理论上数值更大。

      求负数的绝对值的二进制码,求二进制反码,得到的二进制反码加一。

      NaN和Infinity都会被当成0来处理。

      按位非(NOT)~表示。操作本质是操作输的负值减一。

      按位与(AND)&表示。只有在两个对位数值都是1 时才会返回1,任何一个是0结果都是0。

      按位或(OR)|表示。对位数值有一个是1就会返回1。

      按位异或(XOR)^表示。对位数值只有一个是1时才会返回1.

      左移 <<表示。原数值的的右侧多出五个空位。

      有符号右移>>表示(保留正负号标记,从第31位开始),原数值的左侧多出五个空位。

      无符号右移>>>表示。对于整数来说 无符号和有符号一样,但是对于负数来说情况不同。首先无符号右移是以0来填充空位。而不像有符号右移那样以符号来填充。其次无符号右移操作会把负数的二进制码当成正数的二进制码。而且由于负数以其绝对值的二进制补码形式表示,因此就会导致无符号右移后的结果非常大。


      逻辑非(!)逻辑非操作符首先会讲他的操作数转换为一个布尔值,然后对其求反。

      逻辑与(&&)属于短路操作,即第一个操作数能决定结果,那么就不会再对第二个操作数求值。如果第一个操作数是false则无论第二个操作数是什么值,结果都不在可能是true了。  

      逻辑或(||)属于短路操作符,第一个操作的求值结果为true,就不会对第二个操作数求值了。(可以避免变量赋值null或者underfind)


      乘性操作符

      乘法,没啥好说的。

      除法,零被零除结果是NaN。只要是和Infinity(无论正负)有关的,结果都是Infinity正负看操作符。

      求模(就是取余数)%:

    • 如果被除数是无穷大值而除数是有限大的数值,则结果都是NaN
    • 如果被除数是有限大的数值而除数是零,则结果是NaN
    • 如果是Infinity被Infinity除则结果是NaN
    • 如果被除数是有限大的数值而除数是无穷大的数值,则结果是被除数    

    (神马?忘记了被除数和除数的关系了?)看这里:

    首先你要搞清楚,“除”和“除以”的概念。比如:十四除以二,列出的式子是“14÷2”;而十四除二,列出的式子是”2÷14“,”除“和”除以“的概念是不同的。
    所以前面的数(14)就是被后面的数(2)除,叫作”被除数“。(列出式子就是”14÷2“)。 ”被除数“就是被”除数“除。

    14÷2,读作:”14被2除“或”14除以2“。

    在此之前,我完全想不到加减乘除这么多道道。(想象一个表情)


      加性操作符,可以使用括号告诉解析器先计算其结果。十分好用。特别是三个字符串相加的时候可以先把两个都是数字的字符串相加,有限运算。

      所有的运算,在碰到操作数是字符串、布尔值、null或者undefined都会在后台调用Number()函数。更多体现在“ ” null值为空的时候(0)。

      关系操作符,在比较字符串时,实际比较的是两个字符串中对应位置的每个字符的字符编码值。  -----大写字母的字符编码全部小于小写字母的字符编码。 因此,要按字母排序比较必须要把同时转换大小写。 当一个字符串内是数字时,与另一个数字比较会,会将字符串转换成数值,然后再比较大小。

      var result = “23” <“3”//true 因为“2”的编码是50,而“3”的编码是51.


      相等和不相等:null和undefined是相等的。null和undefined不能转为成其他值。如果一个是NaN则相等为false,如果两个都是NaN相等还是flase。一个是对象会调用valueOf()方法。 null==0 //false


      if、do-while、while 、for、for-in、break:立即退出循环,continue:退出当前这次循环,继续下一次循环直到结束、label可以再代码中添加标签,以便将来使用。

      类似于  label:for(){ break label;//返回到哪一个标签}、with(expression){ statement},就是简化多次编写同一个对象的工作,不推荐使用,严格模式下不允许使用。

      switch 比较好用。

  • 相关阅读:
    第二周:对Java面向对象的特点的基本感受
    第一周学习情况
    插入排序
    快速排序
    vue传值(小demo)
    Vue下简单分页及搜索功能
    js超简单冒泡算法
    vue框架中实现今天昨天前天最近时间
    vue简单的v-for
    ssm web.xml配置解析
  • 原文地址:https://www.cnblogs.com/bengbengbengbengbeng/p/7103420.html
Copyright © 2011-2022 走看看