从前端小白到大佬 js基础语法笔记

本文详细解读了JavaScript中的变量声明提前规则,包括全局变量和函数声明的区别,以及它们如何影响作用域。同时介绍了函数声明提前的概念,以及不同类型的函数声明和函数表达式的创建时机。深入探讨了作用域的动态创建和销毁,以及全局和局部作用域的交互。
摘要由CSDN通过智能技术生成

变量声明提前
①所有全局变量中声明的变量作为window的属性值保存,可window.变量名调用;函数则作为window的方法保存,可window.函数名调用;
②变量声明时,不写var时,a=123;相当于window.a=123,换句话说,就算是在函数作用域里面直接赋值a=123,a也是一个全局变量;
③使用var 关键字声明变量,会在所有的代码执行之前被声明,但不会赋值;不写则不会;

函数声明提前
④使用函数声明形式创建的函数funtion f(){},会在所有的代码执行之前就被创建完成,可以在函数声明之前调用函数,与函数书写位置无关;但使用函数表达式形式的函数var f()= funtion(){},不会被提前声明与创建;

作用域
⑤在script中创建的变量函数对象都是全局作用量,在打开页面时创建,关闭页面时撤销;
⑥调用函数时创建函数作用域,函数执行完毕后作用域销毁;每调用一次函数就会创建一个新的函数作用域,他们之间时相互独立的;
⑦在函数作用域中能够访问到全局作用域的变量,但在全局作用域中无法访问函数作用域的变量;当在函数作用域中操作一个变量时,会遵守就近原则寻找变量,如果自身作用域中没有,就会向上一级寻找,直到找到变量;函数作用域中需要访问全局变量时,可以使用window.变量名 使用;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值