JavaScript强制类型转换与运算符

37 篇文章 8 订阅
30 篇文章 0 订阅

注:
练习一主要讲述“显式”的三种强制转换,即:
1、其他数据类型转换为String型
2、其他数据类型转换为Number型
3、其他数据类型转换为Boolean型

练习二为五个运算符的使用,在练习二中也包括“隐式”的强制转换,例如:通过+、-、*、/等运算符可以将非数值的变量或常量进行运算,且结果为数值型。

练习一:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>强制类型转换</title>
    <script>
        // 强制类型转换
            // 指将一个数据类型强制转换为其他的数据类型
            // 类型转换主要指,将其他的数据类型,转换为
            //     String Number Boolean
        
        // 将其他的数据类型转换为String
        //     方法一
        //         调用被转换数据类型的toString()方法
        //         该方法不会影响到原变量,它会将转换的结果返回
        //         但是注意:null和undefined这两个值没有toString()方法
        //             如果调用它们的方法,会报错

             // 方法二
                //     调用String()函数,并将被转换的数据作为参数传递给函数
                //     使用String()函数做强制类型转换时,
                //     对于Number和Boolean实际上就是调用的toString()方法
                //     但是对于null和undefined,就不会调用toString()方法
                //     它将会null直接转换为‘null’
                //     将undefined 直接转换为‘undefined’

        // var a=123;
        //调用a的toString()方法
        //调用xxx的yyy()方法,就是xxx.yyy()

        // a=false;
        // a="13";
        // a=undefined;
        // a=Object;
        // a= a.toString();
        // console.log(a);

        // var b;
        // b=123;
        // b=true;
        // b=false;
        // b=null;
        // b=undefined;
        // b=46;
        // b="asdf";
        // String(b);
        // console.log(b);


        //将其他数据类型转换为Number
        //  方法一
            // 使用Number()函数
            // 字符串--》数字
            //     1、如果是纯数字的字符串,则直接将其转换为数字
            //     2、如果字符中有非数字的内容,则转换为NaN
            //     3、如果字符串是一个空串或者是一个全是空格的字符串,则返回0;
            // 布尔值--->数字
            //     true 转成 1
            //     false 转成 0
            // null-->数字 0
            // undefined --> 数字 NaN

            // 方法二
            //     这种方式专门用来对付字符串
            //     parseInt() 把一个字符串转换为一个整数
            //     parseFloat() 把一个字符串转换为一个浮点数
            //     对于一个非String类型转换为Number类型,JS会自动将其转换为String类型,然后在转换为Number类型
        // var c;
        // c="123ads12";

        // c="123";

        // c=true;
        // c=false;

        // c=null;
        
        // c=undefined;

        // c="";
        // c=Number(c);
        // console.log(c);
        // console.log(typeof c);

//      var d;
//      d="123adfad123";
//      
//      d="a123";
//
//      d=123.46;
//
      d="213.465000sdfad"
//
//      // d=parseInt(d);
//      d=parseFloat(d);
//      console.log(d);
//      console.log(typeof d);

		// var	e="10";
		// console.log(parseInt(e,8));

        // 将其他的数据类型转换为Boolean
        //     使用Boolean()函数
        //         数字-->布尔值
        //             除了0和NaN,其余都是true
        //         字符串-->布尔值
        //             除了空串,其余都是true
        //         null和undefined都是false
    </script>
</head>
<body>
    
</body>
</html>

练习二:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>运算符</title>
    <script>
        /* 
            运算符也叫操作符
                通过运算符可以对一个或多个值进行运算,并获取运算结果
                比如: typeof就是运算符,可以来获得一个值的类型
                    它会将该值的类型以字符串的形式返回
                    number string boolean undefined object

                算数运算符
                    当对非number的值进行运算时,会将这些值转换为number然后进行运算
                        任何值和NaN做运算,结果都为NaN
                    +
                        +可以对连个值进行加法运算
                        如果对两个字符串进行加法运算,则会做拼串
                            会将连个字符串拼凑为一个字符串,并返回
                        任何的值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼串
                    -
                        - 可以对两个值进行减法运算,并将结果返回
                    *
                        * 可以对两个值进行乘法运算
                    /   
                        / 可以对两个值进行除法运算 
                    % 
                        % 取模运算(求余)


        */

        var result;
        // result=12+12+"12";

        // result=null+"001";
        // result=12+null;
        // // result=null-"1";
        // // result=null-NaN;
        // result=12+1+undefined;
        // result=12+12+"锄禾日当午,汗滴禾下土。谁知盘中餐,粒粒皆辛苦。"+789+12
        
        // console.log(result);

        result="123"-"12";
        result=true-"123";
        result=undefined-NaN;
        result=12+"123"-undefined;
    
        result=123/45;
        result=23*12-"176";
        result=12%13+'123'-12000;

        console.log(result);


    </script>
</head>
<body>
    
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值