JS 基础 —— ECMAScript 运算符 与 语句

来源:互联网 发布:flower dance知乎 编辑:程序博客网 时间:2024/05/18 02:23

运算符:

一、一元运算符

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);//truealert("3"===3);//falsealert("3"!=3);//falsealert("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" onsubmit="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