语句

1.表达式语句

i+=a  ==>i=i+a

i*=3  ==>i=i*3

i++   ==>先运算后自增

++i   ==>先增加后运算

delete运算符,删除一个对象的属性,一般作为语句使用

 delete o.x;

函数调用

alert(gretting);

2.复合语句和空语句

使用花括号(大括号)将多条语句括起来,形成一条复合语句(compound statement)

复合语句的作用主要是将多条语句当成一条语句使用

{
    x=Math.PI;
    cx=Math.cos(x);
    console.log("cos(pi)="+cx);
}           

注意:1.语句块的结尾不需要分号 2.最好语句块中的语句有良好的缩进

空语句

作用仅仅是占位的语句。内容就是一个分号;

if((a==0)||(b==0)); //这里其实就if语句结束了,因为不使用花括号的if语句默认影响下一行,这里下一行是空语句,就是后面的那个分号
o=null;

3.声明语句

var

var i;
var j=0;
var q,p;
var greeting="hello"+name;
var x=2.34,y=Math.cos(0.75),r,theta;
var x=2,y=x*x;
var x=2,
     f=function(x){return x*x;},
     y=f(x);

var声明的变量无法通过delete语句删除,删除的结果是变量的值改变成了undefined

function

var f=function(x){ retuen x+1;}
function f(x){ return x+1; }

4.条件语句

if

if(){...}

if(){..}else{...}

if(){...}else if(){..}else{...}

switch

switch(x){

case 'A': ... break;

case 'B': ... break;

default: ... break;

}

while

while(expression)   //先判断后执行

       statement

do{...}while()       //先执行后判断

for

for(;;){}

for/in

for/in不是增强for循环,但与增强for循环相似。

for(var p in o){

    ...

}

x代表的不是o里面的元素,而是o元素的索引

首先JavaScript解析器会计算Object表达式,如果表达式为null或undefined,则会跳过循环执行后面的代码。

p也可以使用表达式

for(var i=0;i<arr.length;i++){
    console.log(a[i]);
}

for(var p in o){
   console.log(o[p]);
}
var a=[1,2,3,4,],i=0;
for(a[i++] in o);

6.跳转语句

标签语句

通过给程序引用标签,可以在任意地方通过标签名引用这条语句。也可以给多条语句定义标签,但局限于给语句块定义标签。

标签语句和c中的loop标记类似.但不完全是,loop会将指针放到loop标记位置

注意在js中只有break和continue可以使用标签语句

label:statement

mainloop: alert("1");
for(var i=0;;){
  break mainloop;
}

break语句、continue语句,return语句。不多说都一样

throw语句

所谓异常(exception)是当发生了某种异常状况或错误时产生的一个信号。抛出异常,就是用信号通知发生了错误或者异常状况。捕获异常是指处理这个信号,即采用必要的手段从异常中恢复。

在JavaScript中,用throw语句抛出异常,try、catch/finally语句捕获异常

throw语句的语法:

  throw expression;

expression的值可以是任意类型的。可以抛出一个代表错误码的数字,或者包含可读的错误消息的字符串。常常用来抛出异常的是Error类型和其子类型

function factorial(x){
  if(x<0){
    throw new Error("x不能是负数");   
/* Error对象有一个name属性表示错误类型,一个message属性存放传递给构造函数的字符串 */ }
for(var f=1;x>1;f*=x,x--); return f; }

抛出异常的时候JavaScript解析器会立刻停止当前正在执行的逻辑,并跳转至就近的异常处理程序,直到找到为止,如果没有找到任何异常处理程序,JavaScript就会将异常当成程序错误来处理。

7其他语句类型

with语句

with语句用于临时拓展作用域链

语法:  with(object) statement

这条语句将object添加到作用域链的头部,然后执行statement,最后把作用链恢复到原始状态。

只有查找标识符才会用到作用域链,创建新变量时不使用它,with语句提供了读取o的属性的快捷方式,但它并不能创建o的属性。

with(o) x=1;

上面的语句中,如果o中没有x属性,那么它相当于普通的x=1;

例子:

/* with语句常用于简化代码编写 */

with(document.forms[0]){
     name.value="";
     address.value="";
     email.value="";
}

/* 相当于 */
var f=document.forms[0];
f.name.value="";
f.address.value="";
f.email.value="";

debugger语句

加上一个debugger标记,相当于产生一个断点

function f(o){
 if(o==undefined) debugger;
...
}

 

posted @ 2016-05-02 19:01  guodaxia  阅读(189)  评论(0编辑  收藏  举报