微语 微语:代码适合中午敲,早晚出BUG

类型检测-toString JavaScript

        //   toString可以检测所有类型
        // 前言:由于大部分的类型都有 toString()方法,无法通过原型链找到Object的toString() 方法,所以需要强制使用Object.prototype.toString.call(对象)

        //基本类型检测
        console.log(Object.prototype.toString.call(100)); //返回值:[object Number]
        console.log(Object.prototype.toString.call('张三'));//返回值:[object String]
        console.log(Object.prototype.toString.call('张三'));//返回值:[object String]
        console.log(Object.prototype.toString.call(true));//返回值:[object Boolean]
        console.log(Object.prototype.toString.call(undefined));//返回值:[object Undefined]
        console.log(Object.prototype.toString.call(null));//返回值:[object Null]

        //引用类型检测
        function show() {

        }
        console.log(Object.prototype.toString.call([1, 2, 3, 4, 5]));//返回值:[object Array]
        console.log(Object.prototype.toString.call({ name: "tom" }));//返回值:[object Object]
        console.log(Object.prototype.toString.call(show));//返回值:[object Function]
        // 注:call 指的是修改this指向