JavaScript判断

JavaScript中有三种判断语句,分别是:if else, 三元运算符, switch case。其中if, else if, else 是最常用的判断, 可以解决JavaScript中所有的判断需求。而三元运算符应用于简单的if else情况,switch case 应用于不同值情况下不同的操作。
首先,if else的语法规则如下:

    if (条件1) {
        执行条件1成立的js代码
    } else if (条件2) {
        执行条件2成立的js代码
    } else if (条件3) {
        执行条件3成立的js代码
    } ...(这里好多个 else if) else {
        以上所有条件都不成立执行的代码
    }

if中的条件可以是 <, > , ==, 还可以是一个值(判断当前的值代表的是真还是假)。

    if ([]) { // true
        console.log('1111'); // 输出
    }

if中条件还可以是多个小的条件组合,中间用||(只要有一个为真,整体为真)或者&&(所有的小条件都为真,整体才为真)隔开。

if (1 && true) {}
if (false && true) {}
if (1 || false) {}
if ("" || false) {}

举例说明 if else的使用:

    var num = 10;
    if (num < 0) {
        console.log('负数');
    } else if (num >= 0 && num <= 10) {
        console.log('0-10之间');
    } else if (num > 10) {
        console.log('10以上');
    }
    // 输出'0-10之间'

三目运算符:
语法规则如下:

条件 ? 条件成立执行 : 条件不成立不执行;

例如如下的 if else 判断:

    var num2 = 15;
    if (num2 > 0) {
        console.log('正数或零')
    } else {
        console.log('负数');
    }

可用三目运算符将其改写为:

console.log(num2 >= 0 ? '正数或零' : '负数');

又如:

    var num3 = 15;
    if (num3 >= 0) {
        console.log('正数或零');
    }

可用三目运算符改写为:

console.log(num >= 0 ? '正数或零' : void 0);

switch case:
每一种case情况下都要加break; 如果不加break,不管后面的代码是否成立,都执行了。
每一种case相当于 === 的比较,一定要注意数据类型是否一致。
例如:

    var num = 10;
    if (num === 0) {
        console.log('0')
    } else if (num === 5) {
        console.log('5');
    } else if (num === 10) {
        console.log('10');
    } else {
        console.log('NaN');
    }

可将其改写为:

    switch (num) {
        case 0: console.log('0'); break;
        case 5: console.log('5'); break;
        case 10: console.log('10'); break;
        default: console.log('NaN');
    }

做一个小案例,在页面中点击后,页面会切换不同的颜色,就像走马灯一样。
代码如下:

<script>
    // 三个判断的小应用 -> 开关灯
    // 首先获取body
    // document.getElementById('元素标签的ID值');
    // document: 文档,称之为上下文(context 限定我们获取元素的范围)
    // get: 获取
    // Element: 一个元素
    // by: 通过
    // Id: 元素的ID
    // 在整个文档中,通过元素的ID获取一个元素
    var oBody = document.getElementById('oBody');

    // 然后让body有一个可以点击的功能
    /*
    元素.onclick = function () {
        点击的时候,我们要处理的事情
    }
    */
    // 给一个元素绑定一个点击事件
    oBody.onclick = function () {
        // 点击的时候执行我们的换颜色操作
        // 每一次点击的时候,都要先获取当前的背景颜色
        // 元素.style.backgroundColor -> 获取当前元素在"行内样式上"的背景颜色
        // 根据颜色让背景变成其他的颜色
        // 在绑定的事件中,this就是我们当前点击的这个元素oBody
        var bgColor = this.style.backgroundColor;
//        if (bgColor === 'white') {
//            this.style.backgroundColor = 'black';
//        } else {
//            this.style.backgroundColor = 'white';
//        }

        switch (bgColor) {
            case 'white': this.style.backgroundColor = 'red'; break;
            case 'red': this.style.backgroundColor = 'green'; break;
            case 'green': this.style.backgroundColor = 'blue'; break;
            case 'blue': this.style.backgroundColor = 'white'; break;
            default: this.style.backgroundColor = 'white';
        }
    }
</script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容