运算符:
一、一元运算符
1、delete :删除在对象上加上(不能删除固有的属性或方法)的属性或方法。详细用法见关键字日志。
2、void :该运算符对任何运算或表达式都返回undefined,如void(2+3)为undefined,当然其作用是在不需要返回结果的地方调用,如:
<a href="javascript:void(window.open('about:blank'))">Click me</a>
如果不用void ,将提示window.open的返回结果(新页面的索引);
3、++/--;
4、+=/-=。
二、位运算符
1、或:|
2、与:&
3、非:~
4、异或:^
5、左移:<<
6、无符号右移:>>>
注:左移即向高位方向移动。对于负数,无符号右移需先转为补码,可通过 >>>0 实现,如将-64转为补码表示:
var iUnsigned64 = -64 >>> 0;
温习:转为补码时符号位不变,整数补码与原码相同,负数补码为原码求反后+1.
三、逻辑运算符
或:||
与:&&
非:!
四、乘性与加性运算符
乘:*
除:/
取模:%
减:-
加:+
五、关系运算符
大于:>
小于:<
注意:任何包含 NaN 的关系运算符都要返回 false,因此这段代码也输出 false。
六、等性运算符
等于:==
全等于:===
不等于:!=
不全等于:!==
注意:任意两个NaN 与NaN 都是不相等的,即NaN ==NaN 永远为false。等于与不等于不考虑类型,全等于与不全等于考虑类型,如:
alert("3"==3);//true
alert("3"===3);//false
alert("3"!=3);//false
alert("3"!==3);//true
七、条件运算符
三目运算符:condition?exp1:exp2;
八、赋值运算符
赋值:=
组合赋值运算符:
+=、-=、/=、*=、%=、<<=(左移)、>>=(有符号右移)、>>>=(无符号右移)
九、逗号
一条语句执行多个运算,用逗号隔开:var name=1,name2=2,name3;
语句:
一、if 与 else组合语句
二、do...while语句
三、标签语句,语法:labelName:statement;之后labelName 可被break 或continue 引用
四、break 与continue语句,与标签一起使用的例子:
var iNum = 0;
outermost:
for (var i=0; i<10; i++) {
for (var j=0; j<10; j++) {
if (i == 5 && j == 5) {
continue outermost;
}
iNum++;
}
}
alert(iNum); //输出 "95"
标签outermost 表示最外层循环,所以continue 会调到最外层处继续执行,导致内层循环少了5次,而不是少了1次,所以结果为95.
五、with 语句
with 语句用于设置代码在特定对象中的作用域。
注:该对象可以是Object 及其子对象,也可是dom 对象等,如表单验证:
<form action="submitpage.htm" οnsubmit="return validate_form(this)" method="post">
验证函数中使用了with:
function validate_form(thisform)
{
with (thisform)
{
if (validate_required(email,"Email must be filled out!")==false)
{email.focus();return false}
}
}
收获:元素事件中的this 表示当前元素的dom 对象,如上面的validate_form的参数。六、switch语句
switch...case...break...default
转自:w3school