变量类型分为:基础类型和引用类型

基础类型:boolean, string, number, null, undefined, symbol

引用类型: array, object

  • typeof: 判断变量的类型
  • instanceof:判断某个对象是否是另外一个对象的实例

主要还是理解这两个判断的不同之处,不能死记硬背。

首先清楚地知道变量类型,基础类型和引用类型。

typeof:

数据类型通过typeof判断的结果如下:

类型 结果
undefined "undefined"
Boolean "boolean"
String "string"
Number "number"
Symbol "symbol"
null "object"(历史遗留问题)
函数对象 "function"
object,array,window... "object"

instanceof:  

首先理解一句话,在js里,一切(引用类型)都是对象。

然后看下instanceof的判断规则: A instanceof B

沿着A的__proto__这条线找,同时沿着B的prototype这条线找,如果出现同一个引用就返回true. 如果到终点还未重合就返回false

很容易理解吧。那么

var fn = function () { };
console.log(fn instanceof Object);//true

举例子理解下Instanceof:

let s1 = new String("s");
typeof s1 === "object" //s1是String的实例化对象
s1 instanceof String // true

那再看下这个例子:

let s2 = "s";
typeof s2 === "string"
s2 instanceof String //false

这里为什么是false呢?

这里就要深刻理解typeof和instanceof的通过了。

s2只是个数据类型的值,并不是String的实例化对象

再看下null 和 undefined的不同之处:

  • null == undifined (true) ; null === undefined (false)
  •  typeof null; //object               typeof:undefined; //undifined
  • null参与计算时会自动转换为0,undefined不会转换

  123 + null ; //123

  123 + undefined; //NAN

js 变量类型的更多相关文章

  1. js变量类型详解

    <html> <title>js变量类型详解</title> <meta http-equiv="content-type" conten ...

  2. js变量类型和计算

    # js入门基础-变量类型和计算 ` --首先由于我使用了一个不太合格的markdown来编写来文章,所以在移动端阅读不要太方便,建议移动端使用横屏模式或pc端阅读,当然如果你有平板那是最好的. -- ...

  3. JS变量类型与计算

    一.题目 1.JS中使用typeof能得到哪些类型? 2.何时使用===何时使用==? 3.JS中有哪些内置函数? 4.JS变量按照存储方式区分为哪些类型,并描述其特点? 5.如何理解JSON? 知识 ...

  4. js变量类型及检查

    一.变量的类型 JavaScript 有六种数据类型.主要的类型有 Number.String.object 以及 Boolean 类型,其他两种类型为 null 和 undefined.var ob ...

  5. Js变量类型

    值类型和引用类型 值类型(基本类型):5种,Number String Boolean null undefined var a=10; var b=a; a=2; console.log(b); a ...

  6. JS 变量类型互相转换

    转载自:http://zhaizhiyuan.blog.163.com/blog/static/1897672632009093147268/ Java中几种常用的数据类型之间转换方法:  1. sh ...

  7. js变量类型判断 严格通用 Object.prototype.toString.call()

    Object.prototype.toString.call()判断结果: Object.prototype.toString.call(true) "[object Boolean]&qu ...

  8. js面试题知识点全解(一变量类型和计算)

    1.js中使用typeof能得到哪些类型 2.何时使用===和== 3.js中的内置函数 4.js变量按存储方式区分为哪些类型,并描述其特点 5.如何理解json 以下对这些问题的知识点做一些总结: ...

  9. js课程 1-3 Javascript变量类型详解

    js课程 1-3  Javascript变量类型详解 一.总结 一句话总结:js对象点(属性方法),json对象冒号(属性方法).属性和方法区别只有一个括号. 1.json对象中的函数的使用? 函数名 ...

随机推荐

  1. 使用resultMap定义查询结果集,实现关联查询

    接下来介绍resultMap定义查询结果集,实现关联查询 1 首先在接口中定义操作的方法 public interface EmployeeMapperPlus { public Employee g ...

  2. net.sf.json和com.alibaba.fastjson两种json加工类的相关使用方法

    com.alibaba.fastjson Fastjson是一个Java语言编写的高性能功能完善的JSON库.它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Jav ...

  3. babel-node 和 nodemon

    概述 今天我继续完善我做的用来 mock 前端数据的库:ym-mock. 我想要实现 2 个需求: 支持 es6,至少要能 import 吧. 修改了代码之后能自动热更新,不能我修改了服务器代码要手动 ...

  4. vue 请求完接口后执行方法

    getLunbo: function() { var that = this; that.lunbo = []; // api.showProgress({ // title: '加载中' // }) ...

  5. 用configmap管理配置

    一.ConfigMap介绍管理配置: ConfigMap介绍 Secret 可以为 Pod 提供密码.Token.私钥等敏感数据:对于一些非敏感数据,比如应用的配置信息,则可以用 ConfigMap ...

  6. HTML真是好东西!

    HTML真是好东西! 学习HTML已经两天了,别小看这两天哦,这短短的两天估计要比学校的四周还要长.不仅有教学,还有同学与老师之间的交流,最重要的是自己上机实践的过程.在这个过程中,不仅知道了在HTM ...

  7. Golang基础(4):Go结构体

    当我们要表示同一种数据类型时候,可以用到数组,切片和字典. 当我们要表示不同的数据类型呢?这时候就要用到结构体了 一:定义struct 关键字 type 和 struct 来定义结构体 type st ...

  8. opencv.js小项目demo

    1.博客连接 https://blog.csdn.net/weixin_38361925/article/details/82528529 2.demo连接 https://github.com/mt ...

  9. 七、Zabbix-模板,应用集,监控项,触发器

    本篇内容,将模板,应用集,监控项,触发器放在一起,因为我们建立使用的监控项和触发器,大多数都是对多台机器使用的,很少有一个监控项对应一个主机的情况. 一.模板 1.什么是模板? 个人理解,模板就是模板 ...

  10. 第二周总结.Java

    本学期开始学习Java课程了,首先我先说说学习Java的感觉吧,它不像C语言程序设计,但是又有语言开发的共同点.学Java语言重点是面向对象的程序设计,更加的适应生活需要和计算机开发的需要. 总的来讲 ...