• javascript基础(四)语句


    原文http://pij.robinqu.me/

    for/in语句也使用for关键字,但它是和常规的for循环完全不同的一类循环。语法:

    for (variable in object)
        statement
    

    variable通常是一个变量的名,也可以使一个可以产生左值的表达式或一个通过var语句声明的变量,object是一个表达式,这个表达式计算的结果是一个对象。for/in 循环用来方便的遍历对象属性成员:

    for(var p in o ) {
        console.log(o[p]);
    }
    

    for/in循环并不会遍历对象所有属性,只有“可枚举”的属性才会遍历到。由JavaScript语言核心所定义的内置方法就不是“可枚举的”,例如所有对象都有方法toString().

    跳转

    JavaScript中另一类语句是跳转语句。

    例如

    break语句是跳转到循环或者其他语句的结束。

    continue语句是终止本次循环的执行并开始下一次循环的执行。JavaScript中的语句可以命名或带有标签,break和continue可以标识目标循环或者其他语句标签。

    return语句让解释器跳出函数体的执行, 并提供本次调用的返回值。

    throw语句触法或者”抛出”一个异常,他是与try/catch/finally语句一通使用的。

    语句是可以添加标签的,标签是由语句前的标识符和冒号组成:

    identifier: statement
    

    JavaScript中允许break关键字后面跟随一个语句标签:

    break labelname;
    

    当break和标签一块使用时,程序将跳转到这个标签所标识的语句块的结束,或者直接终止这个闭合语句块的执行。 如果没有这个闭合语句块,就会产生一个语法错误。

    单独使用break语句的作用是立即退出最内层的循环或switch语句。如果希望通过break来跳出非就近的循环体或者switch语句时,就会用到带标签的break语句.

    continue语句和break语句非常类似,但它不是退出循环, 而是转而执行下一次循环。

    函数中的return语句既是指定函数调用后的返回值。

    return expression;
    

    return语句只能出现在函数体内。如果没有return语句,调用表达式的结果是undefined

    JavaScript中,当产生运行时错误或者程序使用throw语句时就会显示地抛出异常。使用try/catch/finally语句可以捕获异常,

    throw语句的语法:

    throw expression;
    

    expression的值可以是任意类型的。JavaScript解释器抛出的异常的时候通常采用Error类型和其子类型,例如:

    function factorial(x) {
       if(x < 0) throw new Error("x不能是负数");
       for(var f = 1; x > 1; f *= x, x--);
       return f;
    }
    

    Error中有几个比较重要的属性 比如name 错误的名称 message 错误的信息 stack 错误发生时调用堆栈。

    常见的几种Error类型:

    SyntaxError: 语法错误,无法通过解释器
    RangeError: 数值超出范围
    TypeError: 变量的类型不是预期的
    ReferenceError: 引用不可用
    

    当抛出异常时, JavaScript解释器会立即停止当前正在执行的逻辑,并跳转到就近的异常处理程序。异常处理程序是用try/catch/finally语句的catch从句编写的。

    try/catch/finally语句是JavaScript的异常处理机制。

    其中try从句定义了需要处理的异常所在的代码块。

    catch从句跟随在try从句之后, 当try块内某处发生了异常时,调用catch内的代码逻辑。

    catch从句后跟随finally快,后者中放置清理代码。不管try块中是否产生异常,finally块内的逻辑总是会执行。

    其他语句

    这里讨论三种JavaScript语句 with, debugger和 use strict

    with语句用于临时扩展作用域链,语法:

    with (object)
    statement
    

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

    通常情况不推荐使用with语句。一般可以使用with语句来简化代码编写。例如:

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

    debugger语句,用来产生一个断点,代码的执行会停在断点的位置,这时使用调试器来输出变量的值。

     

    请把你的疑问评论在下方。
  • 相关阅读:
    线程基础知识06 synchronized使用javap查看相关指令
    线程基础知识10volatile
    CSDN文章和博客园文章正确的转载方法
    记一次愚蠢的内存泄漏问题的排查
    常用五种排序方法 冒泡排序、快速排序、插入排序、希尔排序、归并排序
    virtualbox虚拟机使用
    itextsharp读取pdf时报错PdfReader not opened with owner password
    Python自动批量修改服务器密码
    Java设计模式——建造者模式
    Java设计模式——迭代器模式
  • 原文地址:https://www.cnblogs.com/zzcit/p/5710421.html
Copyright © 2020-2023  润新知