gpt4 book ai didi

javascript - 不换行(头部)与 onLoad

转载 作者:搜寻专家 更新时间:2023-11-01 04:27:13 30 4
gpt4 key购买 nike

在此demo , 如果我使用 (no wrap) 或 (onLoad),我会得到不同的输出。

我的问题是,在 html 文件中,要获得正确的警报:1,2,3,4 需要对代码进行哪些更改?通过简单的 dojo 加载,我在所有警报中总是得到 4:

<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.6/dojo/dojo.xd.js"></script>

<script type="text/javascript">
var slider = [];

for (i = 0; i < 4; i++) {

slider[i] = function () {

alert([i]);

};
dojo.addOnLoad(slider[i]);
}
</script>

最佳答案

你可以使用 closure :

var slider = [];

for (i = 1; i < 5; i++) {

slider[i] = (function (i) {

return function () { alert([i]); }

})(i);
dojo.addOnLoad(slider[i]);
}

这会将 i 保存到另一个保存状态的函数范围中。如果没有闭包,i 的作用域就是原始函数。

关于javascript - 不换行(头部)与 onLoad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7742330/

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