js类型转换---挺多了--亲测正确

类型转换—挺多了–亲测正确

<script>
        console.log(null == undefined); //true
        console.log(null === undefined); //false

        var a = 42;
        var b = a + ''; //隐式强制类型转换
        var c = String(a); //显式强制类型转化
        console.log(a, b, c) //  42 "42" "42"

        console.log(Number(null)); //0
        console.log(Number(undefined)); //NaN
        console.log(Number(true)); //1
        console.log(Number(false)); //0

        console.log(Boolean(null)); //false
        console.log(Boolean(undefined)); //false
        console.log(Boolean(NaN)); //false
        console.log(Boolean(+0)); //false
        console.log(Boolean(-0)); //false
        console.log(Boolean({})); //true
        var d = {
            name: '小豆',
            age: 18
        }
        console.log(Boolean(d)); //true


        const e = [1, 2, 3];
        console.log(String(e)); //'1,2,3'
        var f = String(e)
        console.log(typeof f); // string

        console.log([1, 2] + [1, 2]); //1,21,2
        console.log(String([1, 2])); // 1,2

        //等同于
        console.log([1, 2].toString() + [1, 2].toString()); //1,21,2
    </script>
    <script>
        var a = 1 + '1' // ‘11
        var b = true + true // 2 true在编程语言中代表1或者大于1, false代表0或者null
        var c = 4 + [1, 2, 3] // “41,2,3”
        console.log(a, b, c) //  11 2 41,2,3

        console.log({} + []); //[object Object]
        console.log([] + {}); //[object Object]
        console.log({}.toString()); //[object Object]
        console.log([].toString()); //'' 控制台输出一行空白没有任何东西
        console.log([1, 6, 70].toString()); //    1,6,70


        console.log('3.14' - '0'); //3.14
        console.log([2] - [1]); //1
        //等同于
        console.log([2].toString() - [1].toString()); //1

        console.log(NaN === NaN); // false
        console.log(NaN == NaN); // false
        console.log(+0 === -0); // true
        console.log(+0 == -0); // true
    </script>

    <script>
        console.log(null == '0'); //false
        null == false; //false
        null == ''; //false
        null == 0; //false

        undefined == '0'; //false
        undefined == false; //false
        undefined == ''; //false
        undefined == 0; //false

        console.log(null == undefined); //true
        //null只会与undefined宽松相等


        '0' == false; //true ---特殊
        '0' == NaN; //false
        '0' == 0; //true
        console.log('0' == ''); //false

        false == NaN; //false
        false == 0; //true
        console.log(false == ''); //true ---特殊
        console.log(false == []); //true ---特殊
        console.log(false == {}); //false

        console.log('' == NaN); //false
        console.log('' == 0); //true ---特殊
        console.log('' == []); //true
        console.log('' == {}); //false

        0 == NaN; //false
        console.log(0 == []); //true ---特殊
        console.log(0 == {}); //false
        console.log(0 == '\n'); //true ---特殊
    </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值