zoukankan      html  css  js  c++  java
  • 判断数据类型

    function isString(obj) {
        return Object.prototype.toString.call(obj) === '[object String]';
    }

    function isObject(obj) {
        return Object.prototype.toString.call(obj) === '[object Object]';
    }

    function isHtmlElement(node) {
        return node && node.nodeType === Node.ELEMENT_NODE;
    }

    const isFunction = (functionToCheck) => {
        var getType = {};
        return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';
    };

    const isUndefined = (val) => {
        return val === void 0;
    };
     

    意思是说 void 运算符能对给定的表达式进行求值,然后返回 undefined。也就是说,void 后面你随便跟上一个表达式,返回的都是 undefined,都能完美代替 undefined!那么,这其中最短的是什么呢?毫无疑问就是 void 0 了。其实用 void 1,void (1+1),void (0) 或者 void "hello",void (new Date()) 等等,都是一样的效果。更重要的前提是,void 是不能被重写的(cannot be overidden)。

    那么,ES5 大环境下,void 0 就没有用武之地了吗?答案是否定的,用 void 0 代替 undefined 能节省不少字节的大小,事实上,不少 JavaScript 压缩工具在压缩过程中,正是将 undefined 用 void 0 代替掉了。

  • 相关阅读:
    ScriptManager在客户端来调用服务器端方法或者webService的方法
    转2010 .NET面试题整理之基础篇
    .net 面试题1
    读写文件
    三种编解码方式
    vs2008快捷键
    SharePoint类库说明.NET教程,Asp.Net研发
    一道sql面试题解法
    16天学完java
    总结DataTable 导出Excel数据
  • 原文地址:https://www.cnblogs.com/HePandeFeng/p/13820896.html
Copyright © 2011-2022 走看看