function typeOf(ele) {
            var r;
            if (ele === null) {r = "null"}
            else if (ele instanceof Array) {r = "array"}
            else if (ele === window) {r = "window"}
            else if (ele instanceof Date) {r = "date"}
            else {r = typeof ele};
            return r;
        }
如果typeof是object,这样判断怎么知道具体像是date,window有多少呢?
"==="是严格等于,它的前后两者不仅类型要一样,值也必须一样;instanceof是比较类型
将ele和window与Date做比较,看两次类型是否相同,如果相同,就是该类型的,不同就往下走,直到结束。