前端学习day12–js0502:null,undefined,强制类型转换,隐式类型转换,装箱,拆箱

1.null,undefined在流程控制中的使用

if (!null) {

            console.log("ll"); //11

        }

        if (!undefined) {

            console.log("22"); //22

        }

2.null,undefined转换为数字时

       null         转换为数字    为0

undefined      转换为数字    为NAN

 console.log(Number(null)); // 0
        console.log(10 + null); // 10
        console.log(Number(undefined)); //NaN
        console.log(10 + undefined); // NaN

总结:

        null  表示空对象

                1.作为参数时  表示该函数参数不是一个对象

                2.作为原型链的终点

        undefined  表示缺省值

                1.变量声明 没有赋值 初始值为undefined

                2.调用函数时,应该提供参数而没有提供参数,该参数为undefined

                3.对象的属性没有赋值

                4.函数没有返回值  默认返回值为undefined

3.数据类型和实例对象

 var num = 10;
        console.log(typeof(num)); //number             number数据类型
        console.log(num instanceof Number); //false     不是对象
 var num = new Number(100);
        console.log(num); //{ 100 }
        console.log(typeof(num)); //object      对象
        console.log(num instanceof Number); //true

通过valueof方法取到对象的值

console.log(num.valueOf()); //100

4.强制(显示)类型转换

        主要指把其他类型转换为 String Number Boolean

数字,布尔值   转换为字符串: 

  var a = 100;
        console.log(a.toString());
        var isCool = true;
        console.log(isCool.toString());

小数转换为整数:

 var b = 11.66;
        console.log(parseInt(b)); //11

其他类型转换为数字类型

  var c = "12";
        console.log(Number(c));

        var d = true;
        console.log(Number(d)); //1

        var e = "123";
        e = new Number(e); //object
        console.log(e.valueOf()); //通过valueof取对象的值  123

其他类型转换为布尔类型

                非0,非空字符串为true,空字符为false

  var f = "";
        console.log(Boolean(f)); //false

5.隐式转换

        把数字转换为字符串——数字后面加字符串

 var h = 123;
        h+="";
        console.log("h == ",h);

        把字符串转换为数字——+-*/

 var i = "123";
        // i = i * 1;
        // console.log("i == ",i);

        i = +i;
        console.log("h == ",i);

          i=+i;

6.装箱:

        把基本数据类型转换为 引用类型

默认情况下  num不可以调用toString方法

但解析时 把num做了装箱操作  转换成Number类型的对象

var str=123;

str=str.toString();

number的toFixed方法     也有装箱操作

var num=new Number(100.43545);

var x=num.toFixed(2);//保留两位小数

7.拆箱

        把引用类型转换为基本数据类型

       一般拆箱使用valueof方法

var num= new Number(100);

num=num.valueof();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值