JavaScript—赋值表达式-1

赋值表达式的运算顺序是从右到左的,因此,可以通过以下方法对多个变量赋值

1 i=j=k=0;//也就是把三个变量初始化为0

赋值表达式中的递增和递减
n++和++n的区别:
简单来说,根据运算顺序,n++是先取值,后运算,也就是输出的是旧值,而++n则是先运算,后取值,所以输出的是新值
下面举个例子

var n=3;
    //console.log(n++ + ++n + n++);//13
    console.log(++n + n++ + ++n);//14
    console.log(n);//6

    var n=5;
    //console.log(n-- + --n + n--);//11
    console.log(--n + n-- + --n);//10
    console.log(n);//2
时间: 2024-10-06 22:42:16

JavaScript—赋值表达式-1的相关文章

(5)Javascript的表达式

Javascript的表达式 表达式是一个语句的集合,向每个组一样,计算结果是个单一值.然后该结果被javascript归入下列数据类型之一:布尔.数字.字符串.对象等. 一个表达式可以是一个数字或者变量,或者它可以包含许多连接在一起的变量关键字以及运算符.例如 :表达式x/y,分别使自由变量x和y定值为10和5,其输出为数字2:但在y值为0时则没有定义,一个表达式的赋值和运算符的定义以及数值的定义域是有关联的. 1.赋值表达式 赋值表达式语法形式为:"变量 赋值运算符 表达式",计算

(转)深入理解javascript连续赋值表达式

引入 今天逛园子的时候看到一道javascript面试题,是关于连续赋值的,正好最近读jQuery源码经常看到这种连续赋值的表达式,所以很感兴趣. 废话不多说,来看题: var a = {n: 1} var b = a; a.x = a = {n: 2} console.log(a.x); console.log(b.x) 答案: console.log(a.x); // undefined console.log(b.x) //{n:2} 看到这个答案,我真是百思不得解.... 于是网上搜了搜

JavaScript中:表达式和语句的区别

JavaScript中:表达式和语句的区别 Javascript语言精粹:表达式是由运算符构成,并运算产生结果的语法结构.程序是由语句构成,语句则是由":(分号)"分隔的句子或命令.如果在表达式后面加上一个":"分隔符,这就被称为"表达式语句".它表明"只有表达式,而没有其他语法元素的语句" 原文:http://www.2ality.com/2012/09/expressions-vs-statements.html 本文要讲

JavaScript 中表达式和语句的区别

1.语句和表达式 JavaScript中的表达式和语句是有区别的.一个表达式会产生一个值,它可以放在任何需要一个值的地方,比如,作为一个函数调用的参数.下面的每行代码都是一个表达式: myvar3 + xmyfunc("a", "b") 语句可以理解成一个行为.循环语句和if语句就是典型的语句.一个程序是由一系列语句组成的.JavaScript中某些需要语句的地方,你可以使用一个表达式来代替.这样的语句称之为表达式语句.但反过来不可以:你不能在一个需要表达式的地方放

赋值表达式也有值

1.下面程序的执行结果是什么? int a=3; int b=4; Console.WriteLine(a==b); //false Console.WriteLine(a=b); // 4 赋值表达式本身也是有值得. 2.赋值运算本身也是一个值,这个值就是赋值之后左边的值. int i=(a=b)+3; Console.WriteLine(i); 这个b1呢?bool b1 = (a=b); 这个b3呢? bool b1 = false; bool b2 = true; bool b3=(b1

Javascript 函数表达式

函数有两种模式:函数定义与函数表达式. 函数定义是在任何语言中都会遇见的,这里不再多说了. 函数表达式: 是作为表达式在代码中出现,当程序运行到此处时,才执行这部分的代码内容. 函数字面量组成部分: 第一部分,关键词 function    第二部分,函数名,但是可有可无.    第三部分,包含在括号内的参数,当然参数也是可有可无的,括号不能少.    第四部分,是一组包裹在大括号的语句块,也就是函数要执行的具体代码,可以为空. 例如 function () {} 这个写法符合上面4条规则,但却

Java学习随笔2:Java复合赋值表达式的小问题

问题:i += j只是i = i + j的简写么? 答案:非也!看下面的程序: int i = 5; long j = 8; i += j; // 可以通过编译且结果正确 i = i + j; // 无法通过编译,类型转换问题 其实,Java会将i += j转换为i = (int)(i + j)来执行. 通常,一个E1 op= E2形式的复合赋值表达式,等价于E1 = (T)((E1) + (E2)),T即为E1的类型. ps:Java如何生成一个区间的整数(如100-200)? 答: publ

JavaScript 逗号表达式

逗号表达式的一般形式是:表达式1,表达式2,表达式3……表达式n  逗号表达式的求解过程是:先计算表达式1的值,再计算表达式2的值,……一直计算到表达式n的值.最后整个逗号表达式的值是表达式n的值.  看下面几个例子: x=8*2,x*4 /*整个表达式的值为64,x的值为16*/ (x=8*2,x*4),x*2 /*整个表达式的值为128,x的值为16*/ x=(z=5,5*2) /*整个表达式为赋值表达式,它的值为10,z的值为5*/ x=z=5,5*2 /*整个表达式为逗号表达式,它的值为

C++赋值运算符与赋值表达式

赋值运算符 赋值符号“=”就是赋值运算符,它的作用是将一个数据赋给一个变量.如“a=3”的作用是执行一次赋值操作(或称赋值运算).把常量3赋给变量a.也可以将一个表达式的值赋给一个变量. 赋值过程中的类型转换 如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时会自动进行类型转换. 1)  将浮点型数据(包括单.双精度)赋给整型变量时,舍弃其小数部分. 2)  将整型数据赋给浮点型变量时,数值不变,但以指数形式存储到变量中. 3) 将一个double型数据赋给float变量时,要注意