• js常用的几种类型检测方式


    类型检测方式

    平时数据类型都是清晰明了的,但有些功能函数还是需要用到类型检测,现总结一下几种常见的类型检测方式:
    1. typeof
    2. instanceof
    3. Object.prototype.toString

      typeof:

      通常只记得适合基本类型,

      

      不要忘了还有函数对象

       

      还有只能大致判断的Object相关的

        

      还有一个非主流的null

        

      那么多个object,谁是谁呢?

       instanceof:

      A instanceof B: 

        A: 基本类型就直接GG,false,必须是个对象

        B:要么是个对象,要么是个构造函数

        跨平台iframe、不同window一样GG;

        代表是A的原型链上是否有B的prtotype属性(有点拗口,用lol简单点就是判断英雄A(奥巴马)有没有B(破败)的被动来判断是否已经买了B(破败),好吧也不太准确词穷)

          

        所以说这个null有点日怪;

        instanceof最主要的还是判断这个原型链上的关系:

          这个是亲生的

          

           也许你会想这样

          

          因为这是个假老王,

           

          好吧,来个借腹生子的,

          

          

          关键在于改变了ls.__proto__的指向

          

          怎么生一窝呢?

          

          

          

          

          还是把构造器弄回来吧

          

          太懒了,箭头都不想打了

         Object.prototype.toString:

          原型链倒数第二层Object上的方法,原型链没有__proto__就没有再下一层了,再找是null了

          

          怎么用呢,借助call或者apply吧,

            Object.prototype.toString.apply();

            Object.prototype.toString.call();

           

          这个在ie678还是不撑头,null和undefined还会返回"[object Object]";

      

      

  • 相关阅读:
    当select框变化时 获取select框中被选中的值
    表字段添加、删除、修改
    初步了解JSONP
    通过 Chrome Workspace 调试本地项目(修改样式时及时保存)
    XAMPP PHP redis 扩展
    在右键菜单中加入 用...打开
    PHP unset 后恢复数组索引
    LINUX VI 常用命令
    排行榜 文字向上滚动效果
    jq 获取除节假日与周六日 外的日期 和 星期
  • 原文地址:https://www.cnblogs.com/dansingal/p/6843534.html
Copyright © 2020-2023  润新知