博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
你不知道的JS(作用域和闭包)
阅读量:4557 次
发布时间:2019-06-08

本文共 647 字,大约阅读时间需要 2 分钟。

第一节:作用域:根据名称查找变量的一套规则

 

ReferenceError与作用域判别失败有关,而TypeError则表示作用域判别成功了,但是对结果的操作是不合法的

------------------------------------------------------

var a=2 会被分解成两个步骤

1.在其作用域生成新变量(若没有)

2.LHS查询对其赋值

------------------------------------------------------

不成功的RHS会抛出ReferenceError,不成功的LHS会自动隐私创建一个全局变量(非严格模式下)

==============================

 

第二节:词法作用域

eval和with(不推荐)

==============================

 

第三节:函数作用域与块作用域

1.隐藏内部实现

2.

=============================

第四节:提升

1.函数提升优先于变量

=============================

第五节:作用域闭包

两个特征:(1)为创建内部作用域而调用了一个包装函数(2)包装函数返回值必须至少包含一个对内部函数的引用,这样就会创建涵盖整个包装函数内部作用域的闭包

回调函数实际上就是使用闭包

闭包实现模块化

 

转载于:https://www.cnblogs.com/lemonib/p/10074255.html

你可能感兴趣的文章
杂项-Log:log4net
查看>>
杂项-Java:EL表达式
查看>>
tarroni music
查看>>
unity 使用RotateAround的使用注意
查看>>
[SDOI2009]HH的项链
查看>>
CodeFirst模式,容易引发数据迁移问题(不建议使用)
查看>>
jquery的colorbox关闭并传递数据到父窗
查看>>
使用Nginx、Keepalived构建文艺负载均衡
查看>>
phpmyadmin 开放远程登录的权限
查看>>
linux安装gcc和gcc-c++
查看>>
qq登陆错误提示
查看>>
bzoj 1192: [HNOI2006]鬼谷子的钱袋 思维 + 二进制
查看>>
没写完,没调完,咕咕咕的代码
查看>>
Android Studio使用技巧:导出jar包
查看>>
Problem E. TeaTree - HDU - 6430 (树的启发式合并)
查看>>
Kafka序列化和反序列化与示例
查看>>
【Windows 8 Store App】学习一:获取设备信息
查看>>
实现Windows程序的数据更新
查看>>
win10下VS2010中文输入法切换为英文卡死
查看>>
retinex相关代码汇总
查看>>