javaScript表达式和一元运算符

一、表达式:
  表达式是 ECMAScript 中的一个"短语",解释器会通过计算把它转换成一个值。最简单的表达式是字面量或者变量名。例如:

5.96 //数值字面量
‘Lee‘ //字符串字面量
true //布尔值字面量
null //空值字面量
/Java/ //正则表达式字面量
{x:1, y:2} //对象字面量、对象表达式
[1,2,3] //数组字面量、数组表达式
function(n) {return x+y;} //函数字面量、函数表达式
box //变量

  当然,还可以通过合并简单的表达式来创建复杂的表达式。比如:

box + 5.96 //加法运算的表达式
typeof(box) //查看数据类型的表达式
box > 8 //逻辑运算表达式

  

二、一元运算符:

  只能操作一个值的运算符叫做一元运算符。

  1、递增++和递减--  

    前置和后置的区别:

      在没有赋值操作,前置和后置是一样的。

      赋值操作时,如果递增或递减运算符前置,那么前置的运算符会先累加或累减再赋值,如果是后置运算符则先赋值再累加或累减。

var box = 100;
++box; //前置递增,把 box 累加一个 1,相当于 box = box+1
--box; //前置递减,把 box 累减一个 1,相当于 box = box-1
box++; //后置递增,同上
box--; //后置递减,同上
var box = 100;
var age = ++box; //age 值为 101,box先自增为101然后赋值给age
var height = box++; //height 值为 100 box先赋值给height 然后才自增
     var box = 100;
      var height = --box
      alert(height);//结果是99,先自减再赋值给height

      var box = 100;
      var age = box--;
      alert(age);//结果是100,box先复制给age,再自减

  2、其他类型应用一元运算符的规则

   var box = ‘89‘; box++;     //90,数值字符串自动转换成数值
  var box = ‘ab‘; box++;     //NaN,字符串包含非数值转成 NaN
  var box = false; ++box;     //1,false 转成数值是 0,累加就是 1
  var box = 2.3; ++box;     //3.3,直接加 1
  var box = {           //2,不设置 toString 或 valueOf 即为 NaN
    toString : function() {
      return 1;
    }
  }; box++;
var box = {};
alert(box++);//NaN

  3、加和减法运算符:

    加运算规则如下:

    var box = 100; +box;       //100,对于数值,不会产生任何影响
    var box = ‘89‘; +box;       //89,数值字符串转换成数值
    var box = ‘ab‘; +box;       //NaN,字符串包含非数值转成 NaN
    var box = false; +box;       //0,布尔值转换成相应数值
    var box = 2.3; +box;       //2.3,没有变化
    var box = {           //1,不设置 toString 或 valueOf 即为 NaN
      toString : function() {
        return 1;
      }
    }; +box;

    减运算规则如下:

       var box = 100; -box; //-100,对于数值,直接变负
    var box = ‘89‘; -box; //-89,数值字符串转换成数值
    var box = ‘ab‘; -box; //NaN,字符串包含非数值转成 NaN
    var box = false; -box; //0,布尔值转换成相应数值
    var box = 2.3; -box; //-2.3,没有变化
    var box = {         //-1,不设置 toString 或 valueOf 即为 NaN
      toString : function() {
        return 1;
      }
    }; -box;

    加法和减法运算符一般用于算术运算,也是向上面进行类型转换。

时间: 2024-08-29 08:44:19

javaScript表达式和一元运算符的相关文章

JavaScript表达式

JavaScript表达式中最简单的一类表达式就是常量,变量名也是一种简单的表达式,将简单的表达式组合成复杂表达式最常用的方法就是使用运算符.JavaScript表达式的类型多种多样,下面逐个说明. 1.原始表达式 原始表达式是表达式的最小单位,包含常量或直接量.关键字和变量. 2.对象和数组的初始化表达式 对象和数组的初始化表达式实际上是一个新创建的对象和数组.数组初始化表达式是通过一对方括号和其内由逗号隔开的列表构成的,逗号之间的元素可以省略,省略的空位会填充值undefined,结尾处可以

第四章:Javascript表达式和运算符

表达式是javascript中的一个短语,javascript解释器会将其计算出一个结果.程序中常用量是最简单的一类表达式就是变量.变量名也是一种简单的表达式,它的值就是赋值给变量的值.复杂的表达式是由简单的表达式组成的.比如数组访问表达式是由一个表示数组的表达式,方括号.一个整数表达式构成.它们所组成新的表达式运算结果是该数组特定位置的元素值.同样的函 数调用表达式由一个表示函数对象的表达式和0个多个参数表达式构成.将简单表达式组成复杂表达式最常用的方法就是运算符. 本章(本文)将讲解所有ja

JavaScript表达式&运算符

算术运算符 如果操作数(或者转换结果)是NaN值,算术运算的结果也是NaN. 除数为0的运算结果为正无穷大或负无穷大,而0/0的结果是NaN,所有这些运算均不会报错. "+"运算符 如果其中一个操作数是对象,则将对象转换成原始值(除日期对象外都优先使用valueOf()转换). 在进行了对象到原始值的转换后,如果其中一个操作数是字符串的话,另一个操作数也会转换为字符串,然后进行字符串连接. 否则,两个操作数都将转换为数字(或者NaN),然后进行加法操作. 1 + 2 // 3 &quo

[2016-02-09][javascript][表达式与运算符]

算术运算符 + - * / % ++ -- ++ -- 运算和C++的类似,也有前缀和后缀形式 不过,javascript中浮点类型等也支持++ --运算,效果 就是自增(减) 1, bool 类型,++ -- 运算完之和,变量变成 number 非数值类型,实际上就是先隐式转换成 数值类型,在进行自增自减运算 注意:后缀++,在自增之前,类型已经转换 1 2 3 4 var b = true; document.write("</br>"); document.write

JavaScript权威设计--JavaScript表达式与运算符,语句(简要学习笔记六)

1.delete是一元操作符,用来删除对象属性或者元素. var a={ x:1, y:2 } delete a.x; //删除x属性 “x”in a //false:a对象中已经不存在x属性 alert(a.x) //undefined;这里还是存在“东西”的 就如: var b=[1,2,3]; delete b[0]; b.length //3:还是3,虽然上面已经删除了b[0] 2.void运算符 void忽略操作的值,因此在操作数具有辅助作用的时候使用void来让程序更具语义 例子:

JavaScript权威设计--JavaScript表达式与运算符(简要学习笔记五)

1.3种原始表达式 1.直接量:    1.23    //数字直接量 “hello”    //字符串直接量 ... 2.保留字构成的原始表达式: true    //返回布尔值:真 false    //假 null    //返回一个值:空 3.变量: i    //返回变量i的值 sum    //返回sum的值 2.对象初始化表达式 var p={ x:2.3, y:-1.2 } //一个拥有两个属性成员的对象 对象直接量也可以嵌套: var rea={ upp:{ x:2, y:2

Javascript表达式与运算符

1.3种原始表达式 1.直接量:    1.23    //数字直接量 “hello”    //字符串直接量 ... 2.保留字构成的原始表达式: true    //返回布尔值:真 false    //假 null    //返回一个值:空 3.变量: i    //返回变量i的值 sum    //返回sum的值 2.对象初始化表达式 var p={ x:2.3, y:-1.2 } //一个拥有两个属性成员的对象 对象直接量也可以嵌套: var rea={ upp:{ x:2, y:2

Javascript表达式中连续的 &amp;&amp; 和 || 之赋值区别

function write(msg){ for(var i = 0; i < arguments.length; i ++){ document.write(arguments[i] + '<br />'); } } //关于 '&&' test1 = 1 && 2 && 3 && 4; test2 = '0' && 2 && 3 && 4; test3 = 1 &&

JavaScript 表达式,条件,循环

1 cc.Class({ 2 extends: cc.Component, 3 //表达式,条件,循环 4 /*1:加,减,乘,除 () 5 2:== <= >= != < >,比较运算 6 3: 逻辑运算与 或 &&, || 7 4: 字符串与其他基本类型的加法 8 5:简约表达式 +=, -=, *=, /= 使代码简洁 9 6:++, -- 10 */ 11 properties: { 12 13 }, 14 onLoad:function(){ 15 var