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


    Object.prototype.toString.call(asddfff) //报错asddfff没被定义
    Object.prototype.toString.call(undefined) //"[object Undefined]"
    Object.prototype.toString.call(function a(){}) //"[object Function]"
    Object.prototype.toString.call(123) //"[object Number]"
    Object.prototype.toString.call('') //"[object String]"
    Object.prototype.toString.call() //"[object Undefined]"
    Object.prototype.toString.call(null) //"[object Null]"
    Object.prototype.toString.call([]) //"[object Array]"
    Object.prototype.toString.call({}) //"[object Object]"
    问题是:未定义的会报错(可以忽略,因为一般未定义的也不会随便拿来判断)

    typeof null // "object"
    typeof assssssaz //"undefined"
    typeof undefined //"undefined"
    typeof '' //"string"
    typeof 123 //"number"
    typeof function(){} //"function"
    typeof [] //"object"
    typeof {} //"object"
    问题是:array和null会被判断成Object。好处是:无论哪种都不会报错。

    (function a(){}) instanceof Function //true
    [] instanceof Array //true
    ({a:11}) instanceof Object //true
    123 instanceof Number //false
    '' instanceof String //false
    aaaaxsas instanceof Null //直接报错
    aaaaxsas instanceof undefined //直接报错
    问题是:这个用起来问题比较多,只能用于复杂类型的判断,不能用于基本类型的判断,未定义的变量直接报错。

  • 相关阅读:
    分块的一些题(入门)
    HH的项链
    2019 CCPC-Wannafly Winter Camp Div2 Day1
    2019 CCPC-Wannafly Winter Camp Div2 Day7
    HDU-5672 String(尺取)
    POJ-3104 Drying(二分
    Codeforces
    Java把内存划分为4个部分 1. 代码区 1、栈区 3、堆区 4、静态区域
    二:java语法基础:
    一:java概述:
  • 原文地址:https://www.cnblogs.com/wulinzi/p/10396257.html
Copyright © 2011-2022 走看看