前端简单复习

JavaScript篇-数据类型

1.数据类型:

  1.     原始数据类型: String Null Undefined Boolean Number
  2.     引用数据类型: Object Array Function
  3.     ES6新引入:

   a)  Symbol:代表创建后独一无二且不可变的数据类型,它主要是为了解决可能出现的全局变量冲突的问题

   b)BigInt:是一种数字类型的数据,它可以表示任意精度格式的整数,使用 BigInt 可以安全地存储和操作大整数,即使这个数已经超出了Number 能够表示的安全整数范围

原始数据类型和引用数据类型有什么区别呢?答:存放的位置不同,基本数据类型存放在栈区,引用数据类型存放在堆区。

2.操作系统中的内存:

操作系统中内存分为栈区和堆区

栈:栈区内存由编译器自动分配和释放,存放参数,变量等值。存放占据空间小大小固定被频繁使用的基本数据类型。

堆:堆区内存由开发者释放,开发者不释放程序结束时会由垃圾回收机制回收。存放占据空间大、大小不固定的引用数据类型的指针,指针指向存放实体的地址。

2. Undefined和Null的区别

一般变量声明了但还没有定义的时候会返回undefined,null 主要用于赋值给一些可能会返回对象的变量,作为初始化

Undefined:未定义

Null:空对象

undefined == null // true,undefined === null // false

4.判断数据类型

1.typeof:  无法区分null 数组和 对象

    1. typeof( 2 )   // number
    2. typeof( true )   // boolean
    3. typeof( 'helloworld' )   // string
    4. typeof( undefined ) // undefined
    5. typeof ( function(){} ) // function
    6. typeof( null ) // object
    7. typeof( {} ) // object
    8. typeof( [] ) // object

2.instanceof:  运行机制是判断在其原型链中是否能找到该类型的原型,无法判断基本数据类型

    1. [] instanceof Array   // true
    1. {} instanceof Object   // true
    2. function(){} instanceof Function   // true
    1. 2 instanceof Number   // false

3.constructor: 1.判断数据类型;2.通过对象实例访问构造函数(如果对象原型被修改过那就不能访问构造函数了)

    1. ( 2 ).constructor === Number // true
    2. ( [] ).constructor === Array // true
    3. ( function(){} ).constructor === Function // true
    4. ( true ).constructor === Boolean // true

4. Object.prototype.toString.call() 用对象原型的toString()来判断(不能直接用 [].toString(),因为Array、function等类型作为 Object 的实例,都重写了 toString 方法,此处包含原型链知识后续讲解)

let typeT = Object.prototype.toString

  1. typeT.call([])  // '[object Array]'
  2. typeT.call({})  // '[object Object]'
  3. typeT.call(2)  // '[object Number]'

相关推荐

  1. 前端简单复习

    2024-02-23 09:50:06       26 阅读
  2. 前端复习

    2024-02-23 09:50:06       22 阅读
  3. 前端面试复习大纲

    2024-02-23 09:50:06       14 阅读
  4. WEB前端复习——HTML

    2024-02-23 09:50:06       11 阅读
  5. 前端基础复习--HTML篇

    2024-02-23 09:50:06       20 阅读
  6. 前端面试集中复习 - http篇

    2024-02-23 09:50:06       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-23 09:50:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-23 09:50:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-23 09:50:06       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-23 09:50:06       20 阅读

热门阅读

  1. docker 运行pgsql 命令

    2024-02-23 09:50:06       21 阅读
  2. 共享之力:分布式计算的奇迹

    2024-02-23 09:50:06       29 阅读
  3. 拉伸图片覆盖整个页面的css写法

    2024-02-23 09:50:06       32 阅读
  4. Ubuntu 22.04上编译Android 13 AOSP系统并刷入Pixel 6

    2024-02-23 09:50:06       34 阅读
  5. VUE API 接口

    2024-02-23 09:50:06       30 阅读
  6. 第四章、单例模式

    2024-02-23 09:50:06       32 阅读
  7. Kotlin 中注解 @JvmOverloads 的作用

    2024-02-23 09:50:06       35 阅读
  8. Spring Boot 常用注解大全

    2024-02-23 09:50:06       25 阅读
  9. ECMAScript modules规范示例详解

    2024-02-23 09:50:06       29 阅读