美文网首页
第三章 基本概念

第三章 基本概念

作者: 庄海鑫 | 来源:发表于2017-08-27 08:10 被阅读0次

    运算符优先级

    借鉴班上一个同学的说法
    袁(一元运算符)术(算术)移位(按位运算符),关系(关系运算符)位(位运算符)继(逻辑运算符)父(赋值运算符)

    运算符优先级

    代码加不加分号的问题

    不加分号,解释器一般根据情况看你后面是否会给你自动加。
    通用原则:看后面代码和当前代码能不能一起执行,能就合并,不能就分开执行,如果都不能执行,就报错。
    下面是特殊情况

    var a=1
    var b=2
    a
    ++
    b
    

    等价于

    var a=1;
    var b=2;
    a;
    ++b;
    

    Null和Undefined

    null:表示"没有对象",即该处不应该有值。
    (1) 作为函数的参数,表示该函数的参数不是对象。
    (2) 作为对象原型链的终点。
    (3)不能当作变量声明

    Object.getPrototypeOf(Object.prototype)
    // null
    

    undefined :表示"缺少值",就是此处应该有一个值,但是还没有定义
    (1)变量被声明了,但没有赋值时,就等于undefined。
    (2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。
    (3)对象没有赋值的属性,该属性的值为undefined。
    (4)函数没有返回值时,默认返回undefined。
    (5)可以当作变量声明

    var i;
    i // undefined
    
    function f(x){console.log(x)}
    f() // undefined
    
    var  o = new Object();
    o.p // undefined
    
    var x = f();
    x // undefined
    

    参考表

    对照表

    实际上,undefined值派生自null的,因此ECMA-262规定对它们的相等性测试要返回true


    isNaN()

    判断传入的值是否能转化为数字

    Infinity=


    数值转换

    Number

    • Boolean值,true和false转化为1和0
    • 数字就是数字
    • null值,返回0
    • undefined,返回NaN
    • 字符串,遵循下列规则
      • 只包含数字的字符串,转为数字,浮点格式和原来保持一致,其他进制转化为十进制
      • 空字符串(不包含任何字符串),转换为0
      • 除了上述格式,转化为NaN

    一元加

    将你想操作的数据类型转换为数字
    对象需要先调用他们的valueOf()和toString()


    逻辑与的延伸

    1. 进行布尔值运算 var result=true&&false;
      下面我们让两个操作数用表达式表示。
    var a=1;
    var b=2;
    a==1&&b==3;  //false
    
    
    1. 总结如果并且 :如果 a...并且b....,那么... ,通常这语句我们用到if语句中。
      用于判断
    var a=1;
    var b=2;
    a==1&&(b=3);  // 3
    
    
    1. 总结: 如果那么 :如果a等于1成立的话,继续运行后面的表达式,如果a不等于1,后面就没有必要执行,这称之为短路写法
      前面是判断语句,后面是执行语句

    逻辑或的延伸

    1. 进行布尔值的运算 var result=false||true
    var a=1;
    var b=2;
    a==2||b==2//true
    
    1. 总结或者 :a==2或者b==2,我们要进行什么样什么样的操作。
    var a=1;
    var b=2;
    x=a||b   //true
    
    1. 总结: 如果不...那么用于赋值 这也是短路写法

    将逻辑与和逻辑或合并

    a&&b||c
    

    其中 a、b、c为表达式 ,如果a执行b否则执行c,
    a:为判断语句
    b:为执行语句
    c:为执行语句
    a满足的时候执行b,a不满足的时候执行c
    等价于三目运算符 a?b : c 优先级逻辑运算符大于条件运算符
    上面通常用于简单的if else语句,三目运算符用于赋值。


    相关文章

      网友评论

          本文标题:第三章 基本概念

          本文链接:https://www.haomeiwen.com/subject/csqbdxtx.html