gpt4 book ai didi

javascript - 闭包 - JS Fiddle 和简单 HTML 文件上的不同行为

转载 作者:行者123 更新时间:2023-11-27 22:37:00 25 4
gpt4 key购买 nike

我正在编写一个简单的示例来演示关闭。当我在 JS Fiddle 上写这篇文章时,我可以看到闭包值在控制台中正确传递。如果我尝试制作一个 HTML 页面并在控制台中查看,情况也是如此。关闭通过就看不到了。对于这两种情况,我都使用 Chrome。当代码相同且浏览器相同时,为什么会有不同的行为?魔力在哪里?

HTML

<script> 
var a = 10;
var addTo = function(){
var b = 20;
return (a + b);
}
console.dir(addTo);
</script>

jsFiddle

index.html

最佳答案

当您将此代码粘贴到 JS Fiddle 上时, <script> 的内容标签实际上看起来像这样:

//<![CDATA[
window.onload=function(){
var a = 10;
var addTo = function(){
var b = 20;
return (a + b);
}
console.dir(addTo);
}//]]>

这会创建另一个闭包,并且 a属于该闭包。

但是,如果您在一个简单的 HTML 文件中运行此代码,则不会关闭,并且 a属于全局范围。

关于javascript - 闭包 - JS Fiddle 和简单 HTML 文件上的不同行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39013379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com