1.2 JavaScript运算符
来源:互联网 发布:阿里云备案账号是什么 编辑:程序博客网 时间:2024/05/29 17:19
按照运算符的优先级排序,运算符集合性,L(从左至右)或R(从右至左),操作数类型的列表示期望的操作数类型以及运算符的结果类型(在"->"符号之后)。
lval是left-value的简写,意思是”左值“。
运算符大致包含:
算术运算符
等式运算符
关系运算符
字符串运算符
逻辑运算符
按位运算符
赋值运算符
其它运算符
优先级
运算符的集合性
运算符
执行操作
操作数个数
操作数类型
15
L
.
属性访问
2
object, identifier
L
[]
数组索引
1
array, integer
L
( )
函数调用
1
function, arguments
R
new
创建新对象
1
constructor call
14
R
++
前或后递增的(一元)
1
lval –> num
R
--
前或后递减(一元)
1
lval –> num
R
-
求反
1
number -> number
R
+
转换为数字
1
number -> number
R
~
按位求反(一元)
1
Int –> Int
R
!
逻辑非(一元)
1
bool –>bool
R
delete
取消定义的属性(一元)
1
lval -> bool
R
typeof
返回的操作数类型(一元)
1
any -> str
R
void
返回未定义的值undefined(一元)
1
any -> undefined
13
L
*, /, %
乘,除,余数;
2
num ,num -> num
12
L
+, -
加法,减法
2
num ,num -> num
L
+
字符串串联
2
str, str-> str
11
L
<<
左移位
2
int, int-> int
L
>>
有符号右移
2
int, int-> int
L
>>>
无符号右移
2
int, int-> int
10
L
<, <=
小于,小于或等于
2
num ,num ->bool
L
>, >=
大于,大于或等于
2
num ,num ->bool
L
instanceof
检查对象类型
2
obj, func->bool
L
in
检查是否属性存在
2
obj, str->bool
9
L
==
测试相等
2
any, any->bool
L
!=
测试不等
2
any, any->bool
L
===
测试恒等
2
any, any->bool
L
!==
测试不恒等
2
any, any->bool
8
L
&
按位与
2
int, int-> int
7
L
^
按位异或
2
int, int-> int
6
L
|
按位或
2
int, int-> int
5
L
&&
逻辑与
2
any, any->any
4
L
||
逻辑或
2
any, any->any
3
R
?:
条件运算符(三操作数)
3
bool, any, any->any
2
R
=
变量赋值或对象属性赋值
2
lval, any->any
R
*=, /=, %=, +=, -=, <<=, >>=, >>>=, &=, ^=, |=
运算且赋值
2
lval, any->any
1
L
,
忽略第一个操作数,返回第二个操作数
2
any,any->any
部分代码示例:
//,返回右操作值
if((true,false))
{
alert("ooo");
}
vari,j,k;
//alert((i=1,j=2,k=8));
//转化类型+
varpoint = "7";
//alert(typeof(point));//typeofx返回值有undefined,object,boolean,number,string,function.
point= +point;
//alert(typeof(point));
//删除属性delete
varo = new Object;
o.name = "David";
//alert(typeof(o.name)); //输出 "string"
delete o.name;
//alert(typeof(o.name)); //输出 "undefined";
//alert(void(1));
//左移,左移一位相当于它乘以2,移两位乘以4
varst = -8;
//alert(st=st.toString(2));//转化成2进制
//alert(st.toString(8));//转化成8进制
//alert(st.toString(16));
//alert("st="+st);
st=st<<1;
//alert("st="+st);
//有符号右移,右移一位相当于它除以2,右移两位除以4,忽略余数(如:7>>1=3, -7>>1=-4)
varsty = -7;
//alert("sty="+sty);
sty=sty>>1;
//alert("sty="+sty);
//"=="和"==="的区别
//alert("1"==true);
//alert("1"===true);
var ppl;
varlpl=null;
var koo =3;
var kok ="3";
//alert(typeof(ppl));
//alert(typeof(lpl));
//alert(ppl==lpl);
//alert(koo==kok);
//in运算符
varpointy ={x:1,y:3};
//alert("x"in pointy)
//alert("toString"in pointy);//继承了toString()方法
vardata = [7,8,9,6];
//alert(4in data);//没有索引为4的元素
//instanceof希望左操作数是一个对象,右操作数标识对象的类。如果左侧的对象是右侧的实例(右侧应该是个函数),返回true。
vard = new Date();
//alert(dinstanceof Date);
//alert(dinstanceof Object);//所有对象都是Object实例
//alert(dinstanceof Number);
//alert(dinstanceof d);//右侧不是函数,抛类型错误异常
- 1.2 JavaScript运算符
- javascript中的运算符
- javascript 逗号运算符
- javascript中的运算符
- JavaScript 的运算符
- javascript 逗号运算符
- Javascript中的||运算符
- Javascript中的||运算符
- JavaScript基础--运算符
- JavaScript delete运算符
- javascript运算符优先级
- JavaScript运算符详解
- JavaScript 运算符
- javascript或运算符“||”
- JavaScript运算符优先级
- javascript typeof 运算符
- javascript中的||运算符
- javascript位运算符
- Android 开发常用代码片段
- 1.2 JavaScript流程控制
- dudu kan
- PHP超全局变量:$_SERVER
- webui框架的利与弊
- 1.2 JavaScript运算符
- HTML5 移动Web的离线应用 applicationCache & manifest - 3
- hdu 2952 Counting Sheep(dfs)
- kvm创建虚拟机流程(1)
- 1.3 JavaScript函数
- 字节操纵函数
- USB协议与速度、版本之间的关系
- 学习strut2(2)
- redis rhel下安装教程