精华内容
下载资源
问答
  • js判断类型

    2018-06-15 20:18:55
    js 中判断类型js中常用有三种判断类型的方式,但 都有优缺点。typeof 判断 js的类型优点 可以判断一些简单类型,比如undefined. 缺点:无法判断 null 的类型,也无法完整判断数字 typeof( null ) == 'object' //...

    js 中判断类型

    js中常用有三种判断类型的方式,但 都有优缺点。

    typeof 判断 js的类型

    优点
        可以判断一些简单类型,比如undefined.
    
    缺点:无法判断 null 的类型,也无法完整判断数字
    
        typeof( null ) == 'object' // true

    instanceof 判断 已知 js 的类型

    这个判断类型用的比较少,一般来说都只能判断已知js的类型
    
    Object instanceof Object // true
    Function instanceof Function // true

    object.prototype.tostring 判断js的类型

    这个在项目中比较常见,判断方法比较全,贴一波封装后的代码
    
    class JsType {
      constructor(){
        this.isType = Object.prototype.toString;
      }
      isArray( arr ) { // 判断数组
        return  this.isType.call( arr ) === '[object Array]' ;
      }
      checkNaN ( obj ) { // 判断 nan
        return obj !== obj;
      }
      isNumber( num ) { //判断number
        let res = false;
        let type = this.isType.call( num );
        if ( type == '[object Number]') {
          res = true;
        } else if ( !( this.checkNaN( Number(num) )) ){
          return this.isType.call( Number(num) ) === '[object Number]';
        }
        return res;
      }
      isFunction( fn ) { // 判断 fn
        return  this.isType.call( fn ) === '[object Function]';
      }
      isString( str ) {
        return this.isType.call( str ) === '[object String]';
      }
      isReg( reg ) {
        return this.isType.call( reg ) === '[object RegExp]';
      }
      isUndefined( str ) {
        return this.isType.call( str ) === '[object Undefined]';
      }
      isObject( obj ) {
        return this.isType.call( obj ) === '[object Object]';
      }
      isNull ( obj ) {
        return this.isType.call( obj ) === '[object Null]';
      }
      isDate( date ) {
        return this.isType.call(date) === '[object Date]';
      }
    }
    展开全文
  • 判断JS类型

    2021-01-06 13:31:19
    (一)JS类型 JS的基本类型共有七种:bigInt(bigInt是一种内置对象,是处...(二)判断JS类型 方法一、typeof方法 基本数据类型除了null外都返回对应类型的字符串。 typeof 1 // "number" typeof 'a' // "str
    (一)JS的类型

    JS的基本类型共有七种:bigInt(bigInt是一种内置对象,是处symbol外的第二个内置类型)、number、string、boolen、symbol、undefined、null。复杂数据类型有对象(object)包括基本的对象、函数(Function)、数组(Array)和内置对象(Data等)。

    (二)判断JS的类型
    方法一、typeof方法

    基本数据类型除了null外都返回对应类型的字符串。

    typeof 1 // "number" 
    typeof 'a'  // "string"
    typeof true  // "boolean"
    typeof undefined // "undefined"
    typeof Symbol() // "symbol"
    typeof 42n // "bigint"
    

    注:判断一个变量是否被声明可以用(typeof 变量 === “undefined”)来判断

    null返回“object”
    
    typeof null  // "object"
    

    因为历史遗留的原因。typeof null 尝试返回为null失败了,所以要记住,typeof null返回的是object。

    特殊值NaN返回的是 "number"
    typeof NaN // "number"
    

    而复杂数据类型里,除了函数返回了"function"其他均返回“object”

    typeof({a:1}) // "object" 普通对象直接返回“object”
    typeof [1,3] // 数组返回"object"
    typeof(new Date) // 内置对象 "object"
    函数返回"function"
    typeof function(){} // "function"
    

    所以我们可以发现,typeof可以判断基本数据类型,但是难以判断除了函数以外的复杂数据类型。于是我们可以使用第二种方法,通常用来判断复杂数据类型,也可以用来判断基本数据类型。

    方法二、object.property.toString.call方法 ,他返回"[object, 类型]",注意返回的格式及大小写,前面是小写,后面是首字母大写。

    基本数据类型都能返回相应的类型。

    Object.prototype.toString.call(999) // "[object Number]"
    Object.prototype.toString.call('') // "[object String]"
    Object.prototype.toString.call(Symbol()) // "[object Symbol]"
    Object.prototype.toString.call(42n) // "[object BigInt]"
    Object.prototype.toString.call(null) // "[object Null]"
    Object.prototype.toString.call(undefined) // "[object Undefined]"
    Object.prototype.toString.call(true) // "[object Boolean]
    

    复杂数据类型也能返回相应的类型

    Object.prototype.toString.call({a:1}) // "[object Object]"
    Object.prototype.toString.call([1,2]) // "[object Array]"
    Object.prototype.toString.call(new Date) // "[object Date]"
    Object.prototype.toString.call(function(){}) // "[object Function]"
    

    这个方法可以返回内置类型

    方法三、obj instanceof Object ,可以左边放你要判断的内容,右边放类型来进行JS类型判断,只能用来判断复杂数据类型,因为instanceof 是用于检测构造函数(右边)的 prototype 属性是否出现在某个实例对象(左边)的原型链上。
    [1,2] instanceof Array  // true
    (function(){}) instanceof Function // true
    ({a:1}) instanceof Object // true
    (new Date) instanceof Date // true
    obj instanceof Object方法也可以判断内置对象。
    

    缺点:在不同window或者iframe间,不能使用instanceof。

    其他方法:除了以上三种方法,还有constructor方法 和 duck type方法,具体在文章就不介绍了,个人觉得吃透分清上面三种方法已经足够了。
    展开全文
  • js判断浏览器类型 js判断ie6不执行

    千次阅读 2013-10-10 17:19:09
    js判断浏览器类型 js判断ie6不执行

    js判断浏览器类型

    $.browser  对象

    $.browser.version 浏览器版本

     var binfo = '';
        if ($.browser.msie) { binfo = "Microsoft Internet Explorer " + $.browser.version; }
        else if ($.browser.mozilla) { binfo = "Mozilla Firefox " + $.browser.version; }
        else if ($.browser.safari) { binfo = "Apple Safari " + $.browser.version; }
        else if ($.browser.opera) { binfo = "Opera " + $.browser.version; }
        else {
              binfo = "google";
            }
        alert(binfo);

    将上段代码直接写到<script></script>中即可

    js判断ie6不执行

    if ($.browser.msie && $.browser.version <= 6.0)
        return false;

    $.browser.msie判断是否是ie浏览器

    $.browser.version <= 6.0 判断ie小于等于ie6

    return flase即不执行

     

    比如有一段代码,是个弹出框,如果是ie6不执行,其他都执行,代码就可以如下操作:

    function nextPopBox1() {
                if ($.browser.msie && $.browser.version <= 6.0)
                    return false;
                layer.closeAll();
                $.layer({
                    type: 1,
                    shade: [0.5, '#000', true],
                    border: false,
                    bgcolor: '',
                    fix: false,
                    title: false,
                    page: { dom: '#img2' },
                    area: ['724px', '302px'],
                    closeBtn: false
                });
            }

    另一个例子,比如有一段代码,ie6不执行,其他都执行,代码可以如下所写:

    function webJs() {
        if (!$.browser.msie && ($.browser.version != "6.0")) {
            $("#fastNav li:gt(0)").hover(function () {
                $(this).stop().animate({ marginLeft: "10px" }, 'fast');
            }, function () {
                $(this).stop().animate({ marginLeft: "0px" }, 'fast');
            });
        }
    }


     


     

    展开全文
  • 判断数据类型js

    2021-02-16 18:42:02
    数据类型判断 // 数据类型判断 export function typeOf(obj) { const toString = Object.prototype.toString; const map = { '[object Boolean]': 'boolean', '[object Number]': 'number', '[object String]...

    数据类型的判断

    //  数据类型判断
    export function typeOf(obj) {
        const toString = Object.prototype.toString;
        const map = {
            '[object Boolean]': 'boolean',
            '[object Number]': 'number',
            '[object String]': 'string',
            '[object Function]': 'function',
            '[object Array]': 'array',
            '[object Date]': 'date',
            '[object RegExp]': 'regExp',
            '[object Undefined]': 'undefined',
            '[object Null]': 'null',
            '[object Object]': 'object'
        };
        return map[toString.call(obj)];
    }
    
    展开全文
  • 对象数据类型判断.js

    2021-01-20 11:39:57
    一个可以直接使用的判断数据类型js文件,里面整理了比较全面的判断各种数据类型分方法,前端的小伙伴看过来
  • js类型和判断类型

    2020-12-08 23:05:16
    js是一种弱类型语言,拥有动态数据动态,相同的变量可...判断类型 1、使用 typeof typeof 可以检测Number,String,Boolean,undefined,null,function类型。 但是检测 Object 和 Array 时,返回的都是对象型 Object。
  • JS判断类型

    2018-04-09 21:15:42
    JS判断类型一般有四种方法 一, typeof:这个方法大家都知道,有很多类型都判断不出来的,不推荐 二, constructor:每个函数都会自动拥有一个prototype属性。这个属性是一个对象,而这个对象包含了唯一一个...
  • js 判断数据类型

    千次阅读 2019-12-12 11:30:44
    一、JS中数据类型 基本数据类型(Undefined、Null、Boolean、Number、String) 复杂数据类型 (Object) 二、判断数据类型 下面将对如下数据进行判断它们的类型 var bool = true var num = 1 var str = 'abc' ...
  • 众所周知,js是门“动态”、“弱类型”编程语言,这意味着在js中可以任性定义变量,同时,“任性”也意味着需常在js开发中对变量做类型判断,曾几何时,对数组变量的类型判断是件很痛苦的事情,开发人员想出多种...
  • js判断对象类型

    2020-04-08 14:43:27
    js判断对象类型
  • js 类型判断

    2019-03-26 17:24:04
    js 类型判断 1- typeof 只能判断基本数据类型,例如 console.log(typeof xx); 2- instanceof 判断对象的具体类型,例如 console.log(xx instance of 写的类型),如果数据是这个类型,结果为true,否则为false 3- ...
  • js类型判断

    2020-06-16 17:14:19
    判断 Target 的类型,单单用 typeof 并无法完全满足,这其实并不是 bug,本质原因是 JS 的万物皆对象的理论。因此要真正完美判断时,我们需要区分对待: 基本类型(null): 使用 String(null) 基本类型(string / ...
  • 主要介绍了js判断上传文件类型判断FileUpload文件类型代码,需要的朋友可以参考下
  • 详解js类型判断

    2020-10-18 12:28:04
    本篇文章给大家详细分析了js类型判断的相关知识点内容,有兴趣的朋友跟着学习下吧。
  • JS类型判断

    2019-04-13 22:57:44
    面试题JS类型判断方式新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一...
  • JS判断数据类型方法

    2020-02-09 16:36:05
    JS判断数据类型方法JS判断数据类型方法1、typeof判断数据类型typeof可以精准的识别五种的数据类型:2、instanceof判断数据类型3、===判断数据类型4、利用Object原型的toString()方法来判断数据类型 JS判断数据类型...
  • js类型判断

    2017-03-13 18:02:38
    js类型判断

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,241
精华内容 3,696
关键字:

判断类型js