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)了。
  • 相关阅读:
    Git修改注释
    数组和切片的区别
    SpringBoot启动报:Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
    eclipse中web.xml报:The content of element type "web-app" must match "(icon?,display- name?,
    eclipse错误: 在类xxx中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.application.Application
    idea Cannot resolve method ‘setAttribute(java.lang.String, java.lang.String)/不能使用pageContext.setAttribute()
    解决Nginx启动报nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    数据仓库开发规范
    详解会话技术cookie、session和token
    Requests爬虫包及解析工具 xpath、正则、Beautiful Soup
  • 原文地址:https://www.cnblogs.com/smght/p/4369536.html
Copyright © 2011-2022 走看看