1,原始表达式。
原始表达式是表达式的最小单位。(他们不在包含其他的表达式)
2,对象和数组的初始化表达式。
对象和数组初始化表达式实际上是一个新创建的对象和数组。这些表达式有时称作"对象直接量"和数组直接量。
[] //一个空数组。
[1+2,3+4] // 拥有两个元素的数组,第一个是3,第二个是7
对象初始化:
var p={x:2.3,y:-1.2}; //一个拥有两个属性成员的对象
var q ={}; // 一个空对象
q.x=2.3; q.y=-1.2 // q的属性成员和p的一样。
3,函数定义表达式。
函数定义表达式定义一个JavaScript函数,表达式的值是这个新定义的函数。.
// 这个函数返回传入参数的值的平方
var square = function(x){
return x*x;
}
4,属性访问表达式。
属性访问表达式运算得到一个对象属性或一个数组元素的值。JavaScript为属性访问定义了两种语法:
expression. indentifier
expression [expression]
例子:
var o ={x:1,y:{z:3}}; //一个实列对象
var a = [0,4,[5,6]]; // 一个包含这个对象的实列数组。
o.x // 1,表达式o的x属性
o.y.z // 3,表达式o.y的z属性。
o["x"] // 1,对象o的x属性。
a[1] // 4: 表达式a中索引为1的元素。
a[2]["1"] // 6,表达式a[2]中索引为1的元素。
a[0].x // 1:表达式a[0]的x属性。
5,调用表达式。
JavaScript中的调用表达式是一种调用函数或方法的语法表示。
f(0) // f是一个函数表达式,0是一个参数表达式。
Math.max(x,y,z) // Math.max 是一个函数,x,y和z是参数。
a.sort() // a.sort是一个函数,它没有参数。
6,对象创建表达式。
对象创建表达式创建一个对象并调用一个函数(这个函数称作构造函数)初始化新对象的属性,
new Object()
new Point(2,3)
7,运算符概述
8,算术表达式。
9,关系表达式
(1),相等和不等运算符。
(2), 比较运算符。
(3),In运算符。
in 运算符希望它的左操作数是一个字符串或可以转换为字符串,希望它的右操作是一个对象。如果右侧的对象拥有一个名为左操作数值的属性名,那么表达式返回true。
var point = {x:1,y:1}; //定义一个对象。
"x" in point // true 对象有一个名为"x" 的属性。
"z" in point // false 对象中不存在名为"z" 的属性。
"toString" in point // true 对象继承了yoString()方法。
var data= [7,8,9] // 拥有三个元素的数组。
"0" in data // true 数组包含元素"0"
1 in data // true 数组转换为字符串。
3 in data // false 没有索引为3的元素。
(4), instanceof 运算符。
instanceof 运算符希望左操作数是一个对象,右操作数标识对象的类。
10,逻辑表达式。
(1), 逻辑与(&&) and
(2),逻辑或(||) 或
(3),逻辑非 (!) 取反。
11,赋值表达式,
JavaScript使用"="运算符给变量或者属性赋值。
赋值运算符
+= a+=b a=a+b
-= a-=b a=a-b
*= a*=b a=a*b
/= a/=b a=a/b
%= a%=b a%b
12,表达式计算。
13,其他运算符。
(1),条件运算符(?:) 三元运算符。
x>0?x:-x //求x的绝对值。
(2) , typeof 运算符。
(3),delete运算符。
它是用来删除对属性或者数组元素。
var o={x=1,y:2}; //定义一个对象。
delete o.x; // 删除一个属性。
"x" in o // false 这个属性在对象中不再存在,
var a =[1,2,3] // 定一个一个数组
delete a[2]; // 删除最后一个数组元素。
2 in a // false 元素2在数组中已经不存在了。
备注: delete 删除 不会改变数值的长度,但是会改变值。
13,void运算符。
原文地址:https://www.cnblogs.com/wcq12/p/9698715.html