zoukankan      html  css  js  c++  java
  • JavaScript快速入门(三)——JavaScript语句

    JavaScript基本语句

    基本概述

    JavaScript是脚本语言,从上到下解释执行,最小单位为语句或语句块,每个语句以分号结尾,每个语句块以右大括号结尾。
    JavaScript可以将多条语句或语句块放到同一行,如果每一行只有一句语句的话,结尾的分号可以省略,但强烈建议不要这么做!因为若是压缩代码,所有语句将处于同一行,没有分号分隔的话后果不堪设想!
    a = "1234" // 这样是不会报错的,但不建议
    b = "1234"
    
    a = "1234"; b = "1234"; // 加上分号,那么就可以将代码放到同一行

    赋值语句

    JavaScript的赋值语句和C的赋值语句很相似,即变量=值,左值必须是变量名,右值可以是直接量,表达式,或函数执行式
    a = "1234";
    如果是多个赋值语句串的话,则从右依次向左赋值,例如
    a = b = "1234";
    
    b = "1234";
    a = b;
    右值可以是一个表达式,例如
    a = 5 + 5;
    右值也可以是函数的返回值,例如
    function add(num1, num2) {
        return num1 + num2;
    }
    a = add(5,5);
    注意,若函数没有返回值,则会赋值为undefined

    函数执行式

    同样的,和C类似,格式类似为:
    函数名([参数1[, 参数2[, ...]]]);
    参数可以是任意个,这个在后面的JavaScript函数中会讲到。但注意,这一句只表示执行,而没有赋值,即使函数有返回值,也不会得到保存。当然,函数的返回值同样可以作为参数
    function add(num1, num2){
        return num1 + num2
    }
    add(add(5, 5), 5); // 15

    语句块

    语句块的构成和C的是一样的,如下:
    逻辑语句 {
        基本语句;
        基本语句;
        ……
        [控制语句;] // 循环语句或多分支语句
    }
    结尾不用分号。语句块没有属于自己的作用域(后面的进阶会讲到)
     

    JavaScript逻辑语句

    前面讲过,学过C的再学JS很容易。事实上,JS的常用语句和C基本一致。

    条件语句

    和C一模一样,这里就不再赘述了
    • if(condition) { statement; }
    • if(condition) { statement1; } else { statement2; }
    • if(condition1) { statement1; } else if(condition2) { statement2; } else { statement3; }

    循环语句

    有以下几种
    • for(init; condition; statement) { statements; }
    • while(condition) { statements; }
    • do { statements } while(condition)
    • for(var in object) {statements; }
    前三个大家都懂,就不多说。最后一个在C里面是没有的,它表示罗列对象里的属性,或者是数组里的值。举个例子:
    var array = [1,2,3,4];
    for(a in array) {
        console.log(a); // 1234
    }
    
    在对象中的例子:
    var obj = {
        attr1: "value1",
        attr2: "value2"
    }
    for(attr in obj) {
        console.log("value of "+ attr + " is: " + obj[attr]); 
    }
    for.. in的用法跟Python的for .. in..、PHP的foreach的用法都很相近,应该也比较好理解。
    循环控制语句有break,continue,label等等,label有违代码规范(和goto差不多),不多阐述,其他两个有过C基础的不难理解

    多分支语句

    for(var i = 0; i < 5; i++) {
        switch(i) {
            case 0: {
                console.log("0");
                break;
            }
            case 1: console.log("1");break;
            default: console.log("not 0 or 1");break;
        }
    }
    这种做法不陌生,我们在C中也可以这么做。不同的是,JS中,case后的部分可以是变量或字符串,而C中不行
    还有一种用法比较新颖,实用性也比较强
    for(var i = 0; i < 5; i++) {
        switch(true) {
            case below2(i): {
                console.log("i<2");
                break;
            }
            case between2To5(i): {
                console.log("2 <= i < 5");
                break;
            }
            default: break;
        }
    }
    function below2(i) {
        return i < 2;
    }
    function between2To5(i) {
        return i >= 2 && i < 5;
    }
    这样就可以在switch语句中加入表达式了,能这么做的缘由是JS的多分支语句是判断switch的参数和case的部分是否全等。这样就等效于if(below2(i) === true)了。
  • 相关阅读:
    poj 2411 Mondriaan's Dream 骨牌铺放 状压dp
    zoj 3471 Most Powerful (有向图)最大生成树 状压dp
    poj 2280 Islands and Bridges 哈密尔顿路 状压dp
    hdu 3001 Travelling 经过所有点(最多两次)的最短路径 三进制状压dp
    poj 3311 Hie with the Pie 经过所有点(可重)的最短路径 floyd + 状压dp
    poj 1185 炮兵阵地 状压dp
    poj 3254 Corn Fields 状压dp入门
    loj 6278 6279 数列分块入门 2 3
    VIM记事——大小写转换
    DKIM支持样本上传做检测的网站
  • 原文地址:https://www.cnblogs.com/smght/p/4369536.html
Copyright © 2011-2022 走看看