JS中变量运算

运算符
1.一元操作符(+,-)
加法规则:
Number + Number -> 加法
Number + Boolean -> 加法
Boolean + Boolean -> 加法
String + Number -> 连接
String + Boolean -> 连接
String + String -> 连接

2.布尔操作符(&&和||)
a && b,如果a存在,则返回b,否则返回a。
a || b,如果a存在,则返回a,否则返回b。

    a,b不一定为boolean; 
    隐氏类型转换:
            1.除0之外的所有数字,转换为布尔型都为true;
            2.除””之外的所有字符,转换为布尔值都为true;(注:空格也为true)
            3.null和undefined转换为布尔型为false;
    所以,‘’,0,NaN,null,undefined还返回false

3.比较运算符(>,>=,==)
">"(">=")运算规则
a.两个都是number,执行数值比较
b.两个都是string,比较对应的字符编码值
c.一个number,将另一个转换为一个数值.
字符串数字会转换为数字;非纯数字会转换为NaN,不论大小都返回false;""转换为0
d.布尔值true转换为1;false转换为0

    "=="运算规则
    规则同上
    ==会进行强制类型转换,===不会
    undefined==null //true (undefined是null派生出来的)
    null== ""//false (typeof null是object,typeof ""是string)
    false=='' "==0       

    特殊:null会尝试转为0
    但 null==0 false
    null > 0   // null 尝试转型为number , 则为0 . 所以结果为 false.
    null >= 0  // null 尝试转为number ,则为0 , 结果为 true. 
    null == 0  // null在设计上,在此处不尝试转型. 所以 结果为false. 

4.赋值运算符(=,+=)
递增:i++和++i
i++返回的是自增之前的值,++i返回的则是自增后的值。

注:
Number类型:int float NaN
任何涉及NaN的操作(如NaN/10)都会返回NaN;
NaN与任何值都不相等,包括NaN本身。
isNaN接受到一个值会尝试将它转换为数值。 isNaN(“16”) false

    数值转换:Number, parseInt, parseFloat(推荐)(parseInt从头解析string为整数,在遇到不能解析的字符时就返回已解析的整数部分;如果第一个字符就不能解析,就直接返回NaN)
    Number(“email”)  结果: NaN
    Number(“20px”)  结果: NaN
    parseInt(“20px”)  结果: 20
    parseFloat(“20px”)  结果: 20
    parseInt(“px20”)  结果: NaN    
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,208评论 0 13
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 13,937评论 0 38
  • 前言: 最近在学习javascript中数据类型、运算符,以及运算符优先级等相关基础知识,相对简单、基础但也很重要...
    饥人谷_远方阅读 797评论 0 3
  • 最近都在为开培训班做最基本的准备,虽然我不是行内人,不懂这些运营,但是我想要去做!在网络上查看别家培训班的资料,咨...
    啊修罗的向日葵阅读 137评论 0 0
  • 芋树又发作了。 她浑身颤抖,蜷缩在床角。 这是二十年来的第八千三百五十一次发作了。 这间小卧室是她第五十八次搬家后...
    林杼阅读 1,047评论 1 0