闭包、window、声明提升、作用域以及作用域链

window对象是什么?

每个网页都自带一个window对象, 保存了JS中所有的 变量/函数, window也被称为 全局区域
函数接受不固定数量的参数, 用什么方式?
arguments : 函数自带的, 自动保存所有传入的参数, 并且带有length属性, 代表参数个数
利用 for(var i=0; i<length; i++) 可以遍历所有参数
arguments[i]

什么是 函数重载, 如何做?

此概念是C语言提出, 一个函数可以通过参数个数不同/参数类型不同 在内部进行if判断, 来执行不同的逻辑操作.
优点: 合并类似功能的函数, 减少声明的函数数量.

声明提升?

预编译 : 一个js代码在真正执行之前, 需要预读一次, 把 声明(变量, 函数)先读取. 然后再顺序执行剩余代码
有一种称呼:第一公民: 函数/变量的声明 会优先处理!

作用域 和 作用域链?

作用域: Scope
JS中只有两种作用域: 全局--window 局部--函数内
作用域链: 函数内使用一个变量时, 会就近原则查找使用
自己有用自己的, 自己没有向父查找, 父没有就继续向上, 直到window中也没有, 才认为不存在!

闭包有什么用?

不想用全局变量 -- 全局变量不能重名,会覆盖
手动声明一个函数作用域来保存变量
大世界(window)中 创建小世界(函数), 可以创建无数个
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值