javascript知识点

  • 变量声明/变量提升/暂时性死区TDZ/全局污染

    • 详细:https://www.cnblogs.com/shangsi/p/12033985.html

    暂时性死区TDZ:

      指变量在作用域内已经存在,但必须在let/const声明后才可以使用。TDZ 可以让程序保持先声明后使用的习惯,让程序更稳定。

      报错形式-----Uncaught ReferenceError: Cannot access 'hd' before initialization

  • 严格模式

    • 严格了很多事情就简单了
    • 非严格模式时,你甚至可以使用关键字当做变量名
    • 严格模式下当前作用域与子作用域都受影响
  • 块作用域

  • 传值与传址

  • null与undefined

    • 最初只有null没有undefined,很多语言中都有null而没有undefined
    • null和undefined尽管有不同,但是都表示“值的空缺”。用“==”认为两者相等,需要用严格相等运算符“===”来区分它们。

   null undefined 
是否关键字   是javascript的关键字  不是关键字
作用 表示一个特殊值,常用来描述“空值”   表示值的“空缺”、变量没有初始化
应用typeof方法

tpyeof null  // object

因此可以认为null是一个特殊对象

typeof undefined // undefined

 

值类型-->Null类型

而null常被当做null类型的唯一成员

值类型-->Undefined类型

ECMAScript3中将undefined认为可读写的变量,

在ECMAScript5中修正,改为只读。

   引用类型的值如果没有初始值,则定义为null

基本类型的值如果没有初始值,则定义为undefined

函数没有返回值时,默认定义返回undefined

形参没有值时,默认定义为undefined

  !!null  // false !!undefined  // false
  无方法 无方法
使用情况区分

null是表示程序级别、正常的在意料之中的值的空缺。

当需要作为参数传入函数时,用null更为合适

undefined是表示系统级的、出乎意料的类似错误的值的空缺

 

 

 

 

 

 

 

 

 

 

 

展开运算符

 

posted on 2022-09-06 16:26  前端码牛  阅读(21)  评论(0编辑  收藏  举报

导航