PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
Ajax
[问题] js闭包的基础观念疑问
楼主:
paul09253336
(paulma)
2020-01-05 10:55:19
大家好,小弟刚接触js不久,目前正在利用网络平台学习,课程正好教到闭包并解释了基
本原理,讲师举了一个function例子,如下
function greet(word)
{
return function(name){
console.log(word+ ' '+name);
}
}
var sayhi=greet('hi');
sayhi('paul');
在讲师的讲解中说当程式执行到
var sayhi=greet('hi'); 时
此时js会建立一个execution context,
而word这个变量则会储存在
function greet的execution context中
当function greet执行完毕,便会离开execution stack
而在一般状况js会透过garbage collection清除变量内容,但在抽离当下变量还是储存在
内存中,所以之后才能继续使用到这个变量
但我听完后有点疑问,目前我的理解是在function执行完毕当下,garbage collection会
执行清除变量内容,所以在function greet执行完,word的这个变量应该就跟着清除了,
但现在看起来并不是这么一回事,所以想请问js的garbage collection是在什么时候会执
行?还是是js在遇到闭包时会自动不执行garbage collection?
希望各位高手能够解答小弟的疑惑
作者:
ccvs
(kisS x Sis)
2020-01-05 13:36:00
http://www.ibm.com/developerworks/library/wa-use-javascr
ipt-closures-efficiently/index.html
作者:
b85040312
(万年newman)
2020-01-09 15:47:00
因为还用得到 所以不清除
继续阅读
[问题] 论坛没防inject 可以用JS攻击什么?
neiltsang
[问题] GAS(GoogleAppScript) + ajax
para123
[问题] 在deploy时遇上websocket的安全问题
crowley
[问题] 请问这段程式码有错误的地方吗
kyowinner
jquery DataTable新增row问题
caride
[问题] jQuery 一直出现莫名其妙的错误
bruce0428
Fw: [精进] [台北] Drone CI读书会
iamnodoubt
[问题] 滚动视差图渐进绘出
st1009
[问题] WebSocket 错误 404
Muteem
Re: [公告] 版规也要 2.0
emusiclin
Links
booklink
Contact Us: admin [ a t ] ucptt.com