Js中的instanceof 和typeof的区别

演示1

var v5=new Number("22");

document.write(typeof v5+"<br/>"); //---->object

document.write( v5 instanceof Number ); //---->true

document.write("<br/>"+v5);

结果:

演示2:

//测试字符串aa是不是类型为String

//document.write(typeof "aa" +"<br/>"); //---->string

//测试字符串aa是不是String的一个实例

//document.write("aa" instanceof String); //---->false

//如果用new的方式创建一个实例的话,之后再去测试上面的两个

var str3=new String("bbb");

document.write(typeof str3 +"<br/>"); //---->Object

//测试字符串aa是不是String的一个实例

document.write(str3 instanceof String); //---->true

演示结果

演示3:

//测试字符串aa是不是类型为String

document.write(typeof "aa" +"<br/>"); //---->string

//测试字符串aa是不是String的一个实例

document.write("aa" instanceof String); //---->false

//如果用new的方式创建一个实例的话,之后再去测试上面的两个

var str3=new String("bbb");

//document.write(typeof str3 +"<br/>"); //---->Object

//测试字符串aa是不是String的一个实例

//document.write(str3 instanceof String); //---->true

结果

演示4

document.write(typeof 1 +"<br/>"); //--->number

document.write(1 instanceof Number ); //---->false

/* var v5=new Number("22");

document.write(typeof v5+"<br/>"); //---->object

document.write( v5 instanceof Number ); //---->true

document.write("<br/>"+v5); */

总结:从上面的三个演示可以看出,对于直接的认为的是某一个类型的变量,如认为1是整形,“aa”是String    如果用typeof 关键字得到的是符合我们的想法的

如1 typeof Number--àtrue

但是如果1 instanceof Numberàfalse

但是如果自己去new一个对象的话,之后再去调用这两个方法见下面

var str3=new String("bbb");

//document.write(typeof str3 +"<br/>"); //---->Object

//测试字符串aa是不是String的一个实例

//document.write(str3 instanceof String); //---->true

或者

var v5=new Number("22");

document.write(typeof v5+"<br/>"); //---->object

document.write( v5 instanceof Number ); //---->true

也就是我们new出来的如果用typeof得到的是Object类型而并不是我们new时候的那个类型,但是instanceof那个是验证符合我们的想法的

JavaScript中的typeof 和instanceof的更多相关文章

  1. 关于JavaScript中的typeof与instanceof

    JavaScript中typeof和instanceof可以用来判断一个数据的类型,什么时候选择使用typeof?什么时候选择使用instanceof? typeof运算符 typeof运算符返回值有 ...

  2. 关于javascript中的typeof和instanceof介绍

    typeof用来检测给定变量的数据类型 instanceof用来检测对象的类型 typeof用来检测给定变量的数据类型(也可叫做基本类型,基本数据类型.包含undefined.boolean.stri ...

  3. C#保留2位小数几种场景总结 游标遍历所有数据库循环执行修改数据库的sql命令 原生js轮盘抽奖实例分析(幸运大转盘抽奖) javascript中的typeof和类型判断

    C#保留2位小数几种场景总结   场景1: C#保留2位小数,.ToString("f2")确实可以,但是如果这个数字本来就小数点后面三位比如1.253,那么转化之后就会变成1.2 ...

  4. 浅谈JS中的typeof和instanceof的区别

    JS中的typeof和instanceof常用来判断一个变量是否为空,或者是什么类型. typeof typeof运算符返回一个用来表示表达式的数据类型的字符串. typeof一般返回以下几个字符串: ...

  5. 浅析JavaScript中的typeof运算符

    对JavaScript中的typeof运算符进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助. 如果typeof的运算符是数字.字符串或者布尔值,它返回的结果就是"numb ...

  6. JavaScript 类型判断 —— typeof 以及 instanceof 中的陷阱

    JavaScript中基本类型包含Undefined.Null.Boolean.Number.String以及Object引用类型.基本类型可以通过typeof来进行检测,对象类型可以通过instan ...

  7. javascript中原型链与instanceof 原理

    instanceof:用来判断实例是否是属于某个对象,这个判断依据是什么呢? 首先,了解一下javascript中的原型继承的基础知识: javascript中的对象都有一个__proto__属性,这 ...

  8. JavaScript中的typeof

    js中的 typeof 操作符返回一个字符串,表示未经计算的操作数的类型. 其中null.字符串对象.数字对象.布尔对象.日期.数组.正则返回结果都为object,可见typeof返回结果并不精确 测 ...

  9. JavaScript中的 typeof,null,和undefined

    typeof操作符 null 在JavaScript中null表示“什么都没有”. null是一个只有一个值的特殊类型.表示一个空对象引用. typeof null; 返回的是object 可以将nu ...

随机推荐

  1. 208. 实现 Trie (前缀树)

    主要是记录一下这个数据结构. 比如这个trie树,包含三个单词:sea,sells,she. 代码: class Trie { bool isWord; vector<Trie*> chi ...

  2. C++-HDU1394-Minimum Inversion Number[数据结构][树状数组]

    给出0~n-1的一个排列,可以整体移动,求逆序对最小值 把数字num[i]的加入,等价于树状数组的第n-num[i]位加1 因为num[i]是第 (n-1)-num[i]+1=n-num[i]大的数字 ...

  3. Solr与JDK对应版本关系,Tomcat与JDK版本对应关系

    最新在部署solrCloud集群,由于自己机器上用的JDK都是JDK1.7的,然后我就从网上下载了最新下载了最先的solr6.6.0和最新的Tomcat9.0,部署了一下,开始报错,提示solr和JD ...

  4. kmp算法基础

    https://www.luogu.com.cn/problemnew/solution/P3375 #include<bits/stdc++.h> using namespace std ...

  5. eclipse非正常关闭,再打开后报错

    Previous operation has not finished; run 'cleanup' if it was interrupted 启动任务管理器,将javaw.exe进程杀死,然后重启 ...

  6. 【原】mac电脑保存服务器账号/密码登录操作

    一.说明 mac电脑自带终端神奇iterm2,日常登录服务器操作一般场景为ssh user@ip,确认后再输入密码操作. 该操作较为麻烦且需通过hostname判断所在主机. 通过ssh生成秘钥方式较 ...

  7. Django_模型字段属性

    """ 定义属性 概述 ·django根据属性的类型确定以下信息 ·当前选择的数据库支持字段的类型 ·渲染管理表单时使用的默认html控件 ·在管理站点最低限度的验证 · ...

  8. HTML5学习(1)简介

    HTML5是HTML最新的修订版本,2014年10月由万维网联盟(W3C)完成标准制定. HTML5的设计目的是为了在移动设备上支持多媒体. HTML5 简单易学. 什么是 HTML5? HTML5 ...

  9. dbGet

    dbGet是Innovus/Encounter DBTCL命令的一种.除了dbGet,DBTCL的命令还包括以下几种: 1. dbSet 2. setDbGetMode/getDbGetMode 3. ...

  10. python入门(二十讲):爬虫

    什么是爬虫? 按照一定的规则,自动地抓取万维网信息的程序或脚本. 爬虫目的: 从网上爬取出来大量你想获取类型的数据,然后用来分析大量数据的类似点或者其他信息来对你所进行的工作提供帮助. 为什么选择py ...