了解hoisting、scope chain对於closure的帮助会非常大,因为这三个是环环相扣。
function closure(x) {
function multiple() {
return x * 2
}
return multiple()
}
const result = closure(100)
console.log(result) //200
可以看到我们透过return 指向multiply,而multiple读取了closure的区域变数。
以上我们也可以使用另一种写法
function closure(x) {
return function () {
return x * 2
}
}
const result = closure(100)
console.log(result()) //200
function minus(x) {
let value = x
return function() {
return value + value
}
}
const a = minus(100)
console.log(a()) //200
看完是不是觉得当我们了解前面的作用域概念,其实闭包就迎刃而解了呢!!!
当然也有上面提到的避免function覆盖
function minus(x) {
let value = x
return function plus() {
return value + value
}
}
function plus() {
console.log('hello')
}
const a = minus(100)
console.log(a()) //200
plus() //hello
明天我们会进入CallBack,这是JavaScript中最重要的一个章节。
刚好今日身体已经恢复差不多,也希望各位要保重身体!!!
今天我们来介绍Report paper format,有时候我们在生成report时候想要自己自定义...
前言 上次介绍了变数是甚麽?这次就来说明程序的一些功能吧!所以为什麽我们需要使用程序语言,为甚麽不直...
Hello, 各位 iT邦帮忙 的粉丝们大家好~~~ 本篇是 Re: 从零开始用 Xamarin 技...
运算子 今天这篇主要会介绍一些运算子, 不一定都是数学上的运算, 也有判断True或False的, ...
大家好我是乌木白,今天要衔接昨天的内容,我们今天继续讨论AJAX! 什麽是 HTTP 请求方法? ...