javascript 片段

http://www.google.cn/music/js/music_js-941234969.js

其中的一段,判断变量类型,居然也能这么复杂:

typeOf = function(a) {
    var 
typeof a;
    if (
== "object") if (a) {
        if (
instanceof Array || !(instanceof Object) && Object.prototype.toString.call(a) == "[object Array]" || typeof a.length == "number" && typeof a.splice != "undefined" && typeof a.propertyIsEnumerable != "undefined" && !a.propertyIsEnumerable("splice")) return "array";
        if (! (
instanceof Object) && (Object.prototype.toString.call(a) == "[object Function]" || typeof a.call != "undefined" && typeof a.propertyIsEnumerable != "undefined" && !a.propertyIsEnumerable("call"))) return "function"
    
} else return "null";
    else if (
== "function" && typeof a.call == "undefined") return "object";
    return 
c
};

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据