var、function和let、const定义变量区别

var、function 定义变量特点

  • 存在变量提升
  • 可以重复声明
  • 全局作用域下 var声明的变量,会在window对象上增加一个属性

let和const定义变量特点

  • 没有变量提升
  • 不能重复声明
  • 不会再window对象上增加属性
  • const定义的变量,一旦声明必须赋值
  • const定义的是一个常量,不可以重新赋值

检测对象上是否存在某个属性的方法
  • window.属性名
  • "属性名" in window

块级作用域下

  • var和function声明的变量依然是全局的,可以在块级作用域外获取
  • let和const声明的变量是私有的,只能在会计作用域中使用
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容