zoukankan      html  css  js  c++  java
  • type of 操作符和instanceof操作符的区别以及使用方法

    经常见到用typeof和instanceof检测一个变量类型,作为前端小白经常不知道这两者具体的详细用法和区别,今天就整理一下谨记!

    javaScript中有6中数据类型:  

                 1.Undefinde

                 2.Null

                 3.Number

                 4.String

                 5.Boolean

                 6.Object

    1.typeof操作符

      一个值使用typeof操作符会返回下列字符串:

                 1.Undefinde

                 2.Functon    如果值是函数

                 3.Number

                 4.String

                 5.Boolean

                 6.Object     如果值是对象或null

    var message = "some string";

    alert(typeof message); //string

    alert(typeof 95);// number

    ps:调用typeof null会返回"object",因为特殊值null被认为是一个空的对象引用。Safari5及之前版本,Chrome7及之前版本在对正则表达式调用typeof操作符时会返回"function",而其他浏览器在这种情况下会返回"object"。

    2.instanceof操作符

    自ES3做出规定以后,就出现了确定某个对象是不是数组的经典问题。对于一个网页,或者一个全局作用域而言,使用instanceof操作符就能得到满意的结果:

      if(value instanceof Array){

      }

    简单的说instanceof是检测一个对象是不不是数组。它只是针对数组而言的。

    ps:它是假定只有一个全局执行环境的,当有不同的全局执行环境时就不合适了,此时需要用到isArray()方法。

    ES5增加了isArray(),不过待检查的对象是在哪个全局执行环境中创建的,使用isArray()都能确定该对象是不是数组。

    用法:  if(Array.isArray(value)){

        }

    ps:IE9+和其他最新浏览器才支持该方法(⊙o⊙)哦~          

  • 相关阅读:
    jq 换图片路径
    sql 把一列的数据按逗号分隔转换成多行
    sql 数据库查看主外键关联
    sql 表连接 join
    sql 查看 锁定的表 或者 未提交 的事务
    WMI技术介绍和应用——查询硬件信息
    System.Web.HttpContext.Current.Server.MapPath("~/upload/SH") 未将对象引用设置为实例对象
    sql server output用法说明
    merge into 的用法
    JAVA Stop The World 第八节
  • 原文地址:https://www.cnblogs.com/wine/p/5218604.html
Copyright © 2011-2022 走看看