gpt4 book ai didi

javascript - 代码运行后字符串发生变化

转载 作者:行者123 更新时间:2023-11-30 10:12:34 24 4
gpt4 key购买 nike

<分区>

我知道在 javascript 中对象是通过引用复制的,但这很奇怪。

var project = projects[projectIndex];

var projectName = project[0]["repository"]["name"];
console.log("type" + " of name " + projectName + " in " + ownerFolderName);

projectTasks.push(function(callback){
omnifocus.create_folder_if_possible_in_group(projectName, ownerFolderName, function () {
callback();
});
});

在这个片段中循环运行多次。使用 console.log 记录时,projectName 是正确的。但是,当在匿名函数中使用时(在 projectTasks 中),该值始终与最后一项的值相同。

例如:如果循环三次,它将记录“1”、“2”、“3”(这是正确的)。但是,在匿名函数中,它会以“3”值运行 3 次。

完整代码可在此处获得:https://github.com/gcamp/github-omnifocus-sync/blob/master/index.js

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