关于JavaScript 中 Switch的使用小误区

  在学习js过程中,想通过Switch语句对进行字符串方法的测试,结果出现了undefined的情况。

  在查询资料后了解到Switch语句中case的判断是“===”等值等型的判断,所以猜测是input 框输入的是数字但实际上value获取的是String类型的数值,而case 数值用错了。

  更改case值后,试验成功。

下面为踩坑的代码:

function Stirngways() {

    var x = document.getElementById("Stringdemo");

    var y = document.getElementById("text");

    var string = document.getElementById("stringtext").value;

    const a = y.value;

    /*     if (a === "1") {

            console.log("You find it!");

        } */

    switch (a) {

        case 1:

            var z = string.indexOf("a");

            console.log(a);

            break;

        case 2:

            var z = string.slice(0, 5);

            console.log(a);

            break;

    };

        x.innerHTML = z;

}

 

 关键在于case的改变:

    switch (a) {

        case "1":

            var z = string.indexOf("a");

            console.log(a);

            x.innerHTML = z;

            break;

        case "2":

            var z = string.slice(0, 5);

            x.innerHTML = z;

            console.log(a);

            break;

    };

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值