一. 表达式和语句的区别
  • <mark>表达式</mark>(expression)是JavaScript中的一个<mark>短语</mark>,JavaScript解释器会将其计算(evaluate)出一个<mark>结果</mark>。<mark>语句</mark>是js的<mark>整句或命令</mark>,表达式计算出一个值,而语句用来执行使某件事发生。
    1. 程序中的常量是最简单的一类表达式
    2. 变量名也是一种简单的表达式,它的值就是赋值给变量的值。
    3. 复杂的表达式是由简单的表达式组成。比如数组访问表达式是由一个数组名表达式,左方括号,整数表达式,右方括号组成,如a[2]。同样函数表达式由一个表示函数对象的表达式和0个或多个参数表达式构成,如sum(1,2).
  • 将简单表达式组合成复杂表达式最常用的方法就是运算符。
二. 自增自减运算符的运算规则
  1. 注意x = x+1;和x= ++x;并不是完全相同的
    var x1 = "abc";
    var x2 = 1;
    x1 = x1 + 1;
    var result1 = x1 +x2;
    console.log(result1);//输出abc1
    
    var y1 = "abc";
    var y2 = 1;
    var result2 = ++y1 +y2;
    console.log(result2);//输出NAN
    
    原因在于在执行x1 = x1 + 1;时由于x1是一个字符串,当一个字符串和一个数字相加时js规定将数字转换为字符串进行拼接,但是当遇到这种情况时自增自减运算符就不同了,js规定先将字符串转换为数字然后进行算数加。
  2. true 转换为1再进行运算,flase转换为0再进行运算
  3. 浮点数直接进行加减操作
  4. 在应用于对象时,将对象转换为数值量然后再进行加减操作,转换过程见《JavaScript权威指南》P54.

更新中…
本人是个小白,如有错误欢迎指正…