基本数据类型和查看数据类型

1==》js有六种基本数据类型。 String   Boolean Number null  underfined  Symbol 【6种】
但是《你不知道的javascript》的作者认为有7中。那一种是【对象】 object
现在我觉得应该是【7种】 加上对象
在引用数据类型 object 中又包括【function/array/object】 2==》查看变量的基本数据类型使用typeof; 使用方式 typeof b
但是如果是引用数据类型的话,
推荐使用 instanceOf 去查看。变量 instanceof String
因为typeof去检查函数和对象是可以的的。
但是去检查数组,就会出错哈。

查看数据类型

var a;
console.log(typeof a);//undefined
// 如果一个变量定义了,但是没声明,它的类型和值就是underfined var b = "heeh";
console.log(typeof b);//string var c = null;
console.log(typeof c); //object
// 它的结果是object,总所周知,这是设计上的缺陷哈。这是一个bug function getSay() {
console.log("我是函数");
}
console.log(typeof getSay);//function var obj = {
a: 1212
}
console.log(typeof obj); //object var arr = [12, 34, 56];
console.log(typeof arr);//object
有没有感觉奇怪。数组竟然也是Object。为啥函数不是 Object 呢???【2020-4-10】
因为typeof检查时并不严谨,遇见数组,就会出现这一种情况哈。
也就是说:数组使用typeof检查时,返回的是 Object。
现在我可以理解了:
在js种,一切都是对象。所以使用typeof检查数组,返回的是Object。 var arr = [12, 34, 56];
function a(){}
console.log(typeof arr);//object
console.log( arr instanceof Array);//true
console.log( arr instanceof Object);//true
console.log(a instanceof Function);//true

typeof的用法和注意点的更多相关文章

  1. JavaScript中typeof,instanceof,hasOwnProperty,in的用法和区别

    一. typeof操作符 typeof操作符用于返回正在使用值的类型. // 使用原始值 let mNull = null; let mUndefined = undefined; let mStri ...

  2. javascript篇-typeof,instanceof,constructor,toString判断数据类型的用法和区别

    javascript基本数据类型有:string,number,Boolean,undefined,null 引用类型(复杂类型):object, ES6中新增了一种数据类型:Symbol 以上数据类 ...

  3. JS中typeof和instanceof的用法和区别

    typeof和instanceof的区别 instanceof 常用来判断一个变量是否为空,或者是什么类型的.但它们之间还是有区别的 instanceof的用法 instanceof返回的是一个布尔值 ...

  4. js创建对象的三种方法:文本标识法和构造器函数法和返回对象的函数

    文本标识法和定义变量差不多,像这样 var obj = {name:'HanMM','2':'Dali'}; 函数构造器法  先创建一个对象函数 function Obj() { this.addre ...

  5. jQuery.extend()方法和jQuery.fn.extend()方法

    jQuery.extend()方法和jQuery.fn.extend()方法源码分析 这两个方法用的是相同的代码,一个用于给jQuery对象或者普通对象合并属性和方法一个是针对jQuery对象的实例, ...

  6. JavaScript中typeof和instanceof深入详解

    这次主要说说javascript的类型判断函数typeof和判断构造函数原型instanceof的用法和注意的地方. typeof 先来说说typeof吧.首先需要注意的是,typeof方法返回一个字 ...

  7. ES6 类(Class)基本用法和静态属性+方法详解

    原文地址:http://blog.csdn.net/pcaxb/article/details/53759637 ES6 类(Class)基本用法和静态属性+方法详解 JavaScript语言的传统方 ...

  8. 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂

    浅谈JS中的!=.== .!==.===的用法和区别   var num = 1;     var str = '1';     var test = 1;     test == num  //tr ...

  9. C#中使用typeof关键字和GetType()获取类的内部结构(反射机制)

    一.问题描述 java有反射机制,C#也有反射机制,在C#中typeof关键字用于获取类型的System.Type对象,该对象的GetMethods()方法可以得到类型中定义的方法对象的计集合,调用方 ...

  10. js中的attributes和Attribute的用法和区别。

    一:Attribute的几种用法和含义(attributes和Attribute都是用来操作属性的) getAttribute:获取某一个属性的值: setAttribute:建立一个属性,并同时给属 ...

随机推荐

  1. 拥抱时序数据库,构筑IoT时代下智慧康养数据存储底座

    摘要:在HDZ城市行广州站中,来自华为云华为云数据库创新Lab向宇从时序数据库的技术角度,解读一下华为云时序数据库GaussDB(for Influx)如何应用在智慧健康养老行业. 本文分享自华为云社 ...

  2. 企业如何高效平滑迁移数据?火山引擎DataLeap上线整库搬迁解决方案

     更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群   近日,火山引擎大数据研发治理套件DataLeap上线整库搬迁解决方案,包括整库离线同步.整库实时同步两大能力 ...

  3. POJ:3279-Fliptile【状态压缩】【DFS】

    POJ-3279 经典[状态压缩][DFS]题型 题目大意:有一个 M * N 的格子,每个格子可以翻转正反面,它们有一面是黑色,另一面是白色.黑色翻转之后变成白色,白色翻转之后则变成黑色. 游戏要做 ...

  4. iviews Radio组件如何获取key而不是value

    iviews RadioGroup 官网里介绍Radio组件获取的值都是name属性没有value 例如: <template> <Space wrap size="lar ...

  5. springboot 参数通过 @RequestBody传递的写法

    controller中有时候参数是使用 @RequestBody传递的这种怎么写? 直接上代码 @RequestMapping("/test") public void getAc ...

  6. C#开源跨平台的多功能Steam工具箱

    前言 作为一名程序员你是否会经常会遇到GitHub无法访问(如下无法访问图片),或者是访问和下载源码时十分缓慢就像乌龟爬行一般.今天分享一款C#开源的.跨平台的多功能Steam工具箱和GitHub加速 ...

  7. [Violation] Added non-passive event listener to a scroll-blocking 'mousewheel' event.

    在基于 Element-ui 写项目的时候,Chrome 提醒: [Violation] Added non-passive event listener to a scroll-blocking ' ...

  8. nginx和前端

  9. freeswitch透传带SDP的180

    概述 freeswitch是一款简单好用的VOIP开源软交换平台. freeswitch对于180/183的消息处理有默认的规则,但是在3GPP的标准中,消息流程会更加复杂,场景更多变. 这样就需要我 ...

  10. SV 设计特性

    过程语句块特性 ABC 过程块语句 always_comb 防止多驱动的问题:赋值块左侧的语句无法被另一个过程块赋值 if语句没有写else,sv会提示警告,sv认为是latch always不会再仿 ...