首先看下大概流程

【一】基础

接下来看下数据类型分类和判断

(1)数据类型分类

基本类型/值类型5种
  ---字符串String、数字Number、布尔值Boolean、未定义undefined、空null 对象类型/引用类型
  ---Object(任意对象)
    Function(一种特别的对象,可以执行)
    Array(一种特别的对象,数值下标属性,内部数据是有序的)

(2)判断数据类型

typeof(可以判断undefined、数值、字符串、布尔值)
instanceof(判断对象的具体类型,判断是函数还是数组... ...)
===(仅仅可以判断undefined和null)

  1、typeof返回数据类型的字符串表达式,注意"这里返回结果为字符串格式表达的数据类型",且都是小写

    

  2、所以验证undefined数据类型时必须注意,typeof返回的时数据类型的字符串表达式

  3、除了使用typeof还可以使用===严格运算符作比较,如下所示

    

  4、使用typeof判断null

    

     此时发现返回的是object,无法使用typeof判断null数据类型,这里需要用到===严格运算符

console.log(y === null);//true

    此时发现可以用严格运算符===判断的数据类型包含两个,即undefined和null

    原因:这两个数据类型只有一个值

    

  5、接下俩判断复杂数据类型

    instanceof实例隶属于--判断实例对象是否隶属于构造函数

    

   6、万物皆对象  

    正如上面所说,Object是任意对象,Function是一种可以执行的特别的对象,而Array也是一种特别的对象,拥有数值下标,且内部数据是有序的

     

   7、判断函数数据类型还有其他方案,即typeof

    

   8、验证console.log数据类型

    //true

 

(3)小结

  1、对象作用:存储数据

  2、数据也是特殊对象,有序性

  3、类型判断

    

【二】相关问题

(1)什么是实例?

  实例也叫实例对象,是由类型对象即构造函数实例化后得出的对象

  

(2)undefined和null区别?

、undefined代表定义了未赋值
、null代表定义了,且赋值了,但是值为null

(3)何时给变量赋值为null?

注意:
null为空,属于基本数据类型
但typeof null为object

自相矛盾... ...

但是要从开发角度理解,例如b为对象,但是此时数据还没有过来,所以此时可以赋值为null,表示后期将要赋值为对象

此时b便确定了对象赋值,最后如果再为null,则会释放该数据对象所占用的内存---即释放数据对象所占内存

答案:---初始赋值和结束赋值

(4)如何严格区别变量类型和数据类型?

  

.

JS高阶---简介+数据类型的更多相关文章

  1. JS高阶函数的理解(函数作为参数传递)

    JS高阶函数的理解 高阶函数是指至少满足下列条件之一的函数. · 函数可以作为参数被传递 · 函数可以作为返回值输出 一个例子,我们想在页面中创建100个div节点,这是一种写法.我们发现并不是所有用 ...

  2. React.js高阶函数的定义与使用

    /* 高阶函数的简单定义与使用 一: 先定义一个普通组件 二: 用function higherOrder(WrappendComponent) { return } 将组件包裹起来,并用export ...

  3. js高阶函数

    我是一个对js还不是很精通的选手: 关于高阶函数详细的解释 一个高阶函数需要满足的条件(任选其一即可) 1:函数可以作为参数被传递 2:函数可以作为返回值输出 吧函数作为参数传递,这代表我们可以抽离一 ...

  4. js高阶函数应用—函数防抖和节流

    高阶函数指的是至少满足下列两个条件之一的函数: 1. 函数可以作为参数被传递:2.函数可以作为返回值输出: javaScript中的函数显然具备高级函数的特征,这使得函数运用更灵活,作为学习js必定会 ...

  5. js 高阶函数 闭包

    摘自  https://www.cnblogs.com/bobodeboke/p/5594647.html 建议结合另外一篇关于闭包的文章一起阅读:http://www.cnblogs.com/bob ...

  6. 浅谈JS高阶函数

    引入 我们都知道函数是被设计为执行特定任务的代码块,会在某代码调用它时被执行,获得返回值或者实现其他功能.函数有函数名和参数,而函数参数是当调用函数接收的真实的值. 今天要说的高阶函数的英文为High ...

  7. js高阶函数汇总

    map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值,函数按照原始数组元素顺序依次处理元素. 注意: map() 不会对空数组进行检测. 注意: map() 不会改变原始数组. ...

  8. JS高阶函数的使用

    1.何为高阶函数呢? JavaScript的函数其实都指向某个变量.既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数.简单来说,就是对其他 ...

  9. JS 高阶函数

    笔记整理自:廖雪峰老师的JS教程 目录 概述 Array中的高阶函数 map(返回新的Array) reduce(返回新的Array) filter(返回新的Array) sort(返回同一Array ...

随机推荐

  1. NLP之关键词提取(TF-IDF、Text-Rank)

    1.文本关键词抽取的种类: 关键词提取方法分为有监督.半监督和无监督三种,有监督和半监督的关键词抽取方法需要浪费人力资源,所以现在使用的大多是无监督的关键词提取方法. 无监督的关键词提取方法又可以分为 ...

  2. [LeetCode] 877. Stone Game 石子游戏

    Alex and Lee play a game with piles of stones.  There are an even number of piles arranged in a row, ...

  3. SpringBoot第二篇:配置文件详解一

    作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10837594.html 版权声明:本文为博主原创文章,转载请附上博文链接! 前言   Sprin ...

  4. 拼数(C++)

    问题: 设有n个正整数,将他们排成一排,组成一个最大的多位整数. INPUT: 第一行,正整数的个数n 第二行,n个正整数 OUTPUT: 一个正整数,表示最大的整数. 输入样例: 3 13 312 ...

  5. linux搜索log文件的内容

    日志一般是记载每天所做的工作.在计算机科学中,日志是指服务器等电脑设备或软件的运作记录(Server log).在电脑设备和软件出现问题时,日志是我们在排查问题的一个重要依据.查询日志是用户记录从客户 ...

  6. office常用技巧汇总

    1.excel篇 (1)一次选择多行 可以利用SHIFT+鼠标实现,点第一行,按下鼠标,点200行,就能实现1~200行选择了. 总结:就是一直按住shift键,鼠标点击要选择的首行,再点击尾行.

  7. 【题解】Paid Roads [SP3953] [Poj3411]

    [题解]Paid Roads [SP3953] [Poj3411] 传送门:\(\text{Paid}\) \(\text{Roads}\) \(\text{[SP3953]}\) \(\text{[ ...

  8. Debian CentOS修改时区

    Debian修改时区: dpkg-reconfigure tzdata https://wiki.debian.org/TimeZoneChanges CentOS修改时区: timedatectl ...

  9. php 使用 wangeditor3 图片上传

    就在最近,公司让我写一个后台,其中用到了富文本编辑器.自从这个富文本的出现 我就慢慢的进入了一个坑,起初不知道用什么编辑器好,看了好多好多,最后选择了.这个 wangeditor3.个人认为这个富文本 ...

  10. css3贝塞尔曲线过渡动画速率——transition-timing-function:cubic-bezier(n,n,n,n)

    css3过渡动画速率用到的是三阶贝塞尔曲线,曲线有四个点,p0,p1,p2,p3 有几个属性: linear 规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1)). ...