首页 > 代码库 > JavaScript里关于声明的一些重要概念
JavaScript里关于声明的一些重要概念
- 所有的全局变量都是window的属性,在函数体外定义的var a=1等价于window.a=1;
- 所有的变量声明都在范围作用域的顶部,因为JS引擎首先会扫描所有的变量声明,然后将这些声明移动到顶部;
- 变量声明被提前了,变量赋值却没有。当变量声明和变量赋值一起使用时,JS引擎会自动将它分为两部分,以便将变量声明提前,不将赋值提前是因为可能影响代码执行出不可预期的结果;
- 函数声明也是提前的,所有的函数声明都在执行代码之前都已经完成了声明,和变量声明一样。但函数表达式不会提前,相当于变量赋值;
- 函数声明会覆盖变量声明,但不会覆盖变量赋值,而函数表达式不像函数声明一样可以覆盖变量声明;
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。