JavaScript表达式

JavaScript表达式中最简单的一类表达式就是常量,变量名也是一种简单的表达式,将简单的表达式组合成复杂表达式最常用的方法就是使用运算符。JavaScript表达式的类型多种多样,下面逐个说明。

1、原始表达式

原始表达式是表达式的最小单位,包含常量或直接量、关键字和变量。

2、对象和数组的初始化表达式

对象和数组的初始化表达式实际上是一个新创建的对象和数组。数组初始化表达式是通过一对方括号和其内由逗号隔开的列表构成的,逗号之间的元素可以省略,省略的空位会填充值undefined,结尾处可以留下单个逗号,但逗号后面并不会创建一个新的值为undefined的元素。对象初始化表达式和数组初始化表达式非常类似,只是方括号被花括号代替,并且每个元素都包含了属性名、冒号和属性值。对象和数组的初始化表达式都支持嵌套,其元素可以是对象或数组。

3、函数定义表达式

函数定义表达式定义一个JavaScript函数,表达式的值就是这个新定义的函数,一个典型的函数定义表达式包含关键字function,跟随其后的是一对圆括号,括号内是一个以逗号分隔的列表,列表含有0个或多个参数名,然后再跟随一个由花括号包裹的JavaScript代码段。

4、属性访问表达式

属性访问表达式运算得到一个对象属性或一个数组元素的值。JavaScript为属性访问定义了两种语法,第一种语法是一个表达式后跟随一个句点和标识符,表达式指定对象,标识符则指定需要访问的属性的名称。第二种语法是使用方括号,方括号是另外一个表达式,这种方法适用于对象和数组,第二个表达式指定要访问的属性的名称或者代表要访问数组元素的索引。

5、调用表达式

JavaScript的调用表达式是一种调用函数或方法的语法表示。它以一个函数表达式开始,这个函数表达式指代了要调用的函数,函数表达式后跟随一对圆括号,括号内是一个以逗号隔开的的参数列表,参数可以有0个也可有多个。

6、对象创建表达式

对象创建表达式创建一个对象并调用构造函数初始化新对象的属性,与函数调用表达式非常类似,只是对象创建表达式之前多了一个关键字new。如果一个对象创建表达式不需要传入任何参数给构造函数的话,那么这对空圆括号是可以省略掉的。

7、运算符

同其它编程语言如C/C++一样,JavaScript的运算符也包括一元运算符、二元运算符和三元运算符,使用运算符要考虑优先级和结合性,以及左值、右值。JavaScript中除了常见的符号运算符外,还有一些关键字运算符,如delete删除属性、typeof检测操作数类型、void返回undefined值、instanceof测试对象类、in测试属性是否存在等。运算符可用于算术表达式、比较表达式、逻辑表达式、赋值表达式等。

+是一个有意思的运算符,除了数字加法之外,还可用于字符串连接,用作一元运算符时把操作数转换为数字或者NaN。位运算符会将NaN、Infinity和-Infinity都转换为0。右移分为带符号右移>>和无符号右移>>>。判等运算符除了==和!=之外,还有===和!==,表示恒等判断。delete是一元操作符,它用来删除对象属性或者数组属性,然而并不是所有的属性都是可以删除的,一些内置核心和客户端属性是不能删除的,用户通过var语句声明的变量不能删除,同样通过function语句定义的函数和函数参数也不能删除。逗号运算符时二元运算符,它的操作数可以是任意类型,它首先计算左操作数,然后计算右操作数,最后返回右操作数的值。

8、eval()

eval()只有一个参数。如果传入的参数不是字符串,它直接返回这个参数。如果参数是字符串,他会把字符串当成JavaScript代码进行编译,如果编译失败则抛出一个语法错误异常。如果编译成功,则开始执行这段代码,并返回字符串的最后一个表达式或语句的值,如果最后一个表达式或语句没有值,则最终返回undefined。如果字符串抛出一个异常,这个异常将把该调用传递给eval()。关于eval()最重要的是,它使用了调用它的变量作用域环境,也就是说,它查找变量的值和定义新变量和函数的操作和局部作用域中的代码完全一样。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-12 19:23:03

JavaScript表达式的相关文章

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

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

[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表达式&amp;运算符

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

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表达式和一元运算符

一.表达式: 表达式是 ECMAScript 中的一个"短语",解释器会通过计算把它转换成一个值.最简单的表达式是字面量或者变量名.例如: 5.96 //数值字面量 'Lee' //字符串字面量 true //布尔值字面量 null //空值字面量 /Java/ //正则表达式字面量 {x:1, y:2} //对象字面量.对象表达式 [1,2,3] //数组字面量.数组表达式 function(n) {return x+y;} //函数字面量.函数表达式 box //变量 当然,还可以

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