JS进阶系列 --- toString

写在前面

在看这篇博客之前,以下几个知识点的学习有助于你的理解
JS进阶系列 — 原型
JS进阶系列 — call&apply

我们知道,在JS世界中,站在最顶端的人是Object。他颁布了JS的一个法令:toString,下面的人必须服从这个法令。但是不同的区域不同的民情,每个区域的Boss又重写了这个法令。

直接上代码

以下就是七大区域的Boss了,其中null和undefined因为没有拥护者
不能发布法令。

    let cs1 = 111;
    let cs2 = '111';
    let cs3 = true;
    let cs4 = null;
    let cs5 = undefined;
    let cs6 = {name:'xxx',age:12};
    let cs7 = [1,2,3];

先看看他们颁布的法令(结果为string类型)

    console.log('Number:' + cs1.toString()); //111
    console.log('String:' + cs2.toString()); //111
    console.log('Boolean:' + cs3.toString()); //true
    console.log('Object:' + cs6.toString()); //[object Object]
    console.log('Array:' + cs7.toString());//1,2,3

再看看Object对七大Boss颁布的原始法令(结果为string类型)

    console.log('Number:' + ({}).toString.call(cs1)); //[object Number]
    console.log('String:' + ({}).toString.call(cs2));//[object String]
    console.log('Boolean:' + ({}).toString.call(cs3));//[object Boolean]
    console.log('Null:' + ({}).toString.call(cs4));//[object Null]
    console.log('Undefined:' + ({}).toString.call(cs5));//[object Undefined]
    console.log('Object:' + ({}).toString.call(cs6));//[object Object]
    console.log('Array:' + ({}).toString.call(cs7));//[object Array]

猜你喜欢

转载自blog.csdn.net/Nate__River/article/details/80636554