V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ming159  ›  全部回复第 1 页 / 共 5 页
回复总数  88
1  2  3  4  5  
1 小时 22 分钟前
回复了 hxd 创建的主题 程序员 怎么能边走路边写代码?
V 我 50,告诉你.
1 天前
回复了 TestOPS 创建的主题 职场话题 我想转行去煤矿下井不知道怎样呢?
看到这种处境,非常难受.
当年我也在北京,一怒裸辞,躺尸一年后赶上疫情,迫不得已回了老家. 进入了一家制造业,做软件开发. 从 0 开始做自动化行业的相关软件. 已经 4 年了,,薪资之后原来的 1/4,最疲惫的还是人际关系. 有时候真的感慨看似我们都在努力挣扎,但实际上都是被时代裹挟着前进. 谁也不知道后面走向哪里.
6 天前
回复了 klo424 创建的主题 买买买 真不知道买点啥好了!
文玩,手串,玉石,老古董,民间小玩意. 乐趣无穷啊.
求生装备,刀具,打火石,医疗急救包,帐篷,净水器,折腾无极限

貌似 op 懒得折腾 (狗头)
6 天前
回复了 meeop 创建的主题 奇思妙想 实现彻底去中心应用前景如何?
14 天前
回复了 whitedroa 创建的主题 生活 朋友结婚没有邀请我,我要主动问吗
大概能理解 OP 是个重感情的人,不过这血赚不亏的机会不要放过啊 哈哈哈哈.

他不说,你不问,你结婚,单独邀请他. 哈哈哈哈哈. 他来不来,随不随份子,你都不亏啊.

情谊的话,还是自己消化一下.
14 天前
回复了 PostMeridiem18 创建的主题 职场话题 诸君更喜欢哪种加班换算方式?
这个没有统一的标准吧,计算一下工作每小时的单价.以及请假扣除. 再结合个人是否请假频繁.(比如家里有小孩老人,需要照顾) 可能每个人得出的结果不一样.
可以找老中医看看,调理一下身体,我之前也是,垫纸用.调理过后,好了一段时间,但身体虚的时候又会出现. 本质还是身体亚健康了.

要从小就这样的话,可能就是先天体质问题了.
好奇,怎么算 "真心喜欢"?
找个路口,画个圈,然后在圈内烧点纸钱,心里默念这些钱是烧给 xxx 人的.
21 天前
回复了 iceWater10 创建的主题 职场话题 学计算机的你们后悔了吗?
后悔,应该直接学怎么赚钱
22 天前
回复了 UncleBrandy 创建的主题 电影 V 友推荐好看的间谍片、动作片。
推荐部黑帮英剧吧,但是贼帅 <浴血黑帮>

fucking shelby !
22 天前
回复了 dododada 创建的主题 程序员 遇到想法很多的合作伙伴怎么办
生气无用 !!!
处理方法也很简单. 正式开发前, 书面形式做出功能规划,抄送相关领导. 让他正式邮件确认. 哪里不行改哪里. 最后他甩锅的时候. 理直气壮的说: "当时功能设计,是我们共同讨论一致通过的,现在有分歧可以再改,而不是在这里事后诸葛亮"
确实是异步导致的问题。 但还有其他问题。
1. post 函数是个异步函数
2. for 循环是同步。
3. JS 变量作用域+JS 函数传值都是值传递、
另外补充一点,**JS 只在一个线程上运行**,异步函数是被放到了任务队列中,等待主线程调用的。

所以,原先在 for 循环内部的时候。 执行顺序是 先执行完 for 循环。 然后执行 post 函数( post 函数)。所以当 post 函数执行的时候。url 每次都是数组的最后一个值。 你的情况类似如下
```
console.log("1"); // 主线程
setTimeout(function(){
console.log("2");
},0); // 加入到了 任务队列。
console.log("3");// 主线程
// 又或者
for(var i=0;i<5;i++){
setTimeout(function(){
console.log("变量 i="+i);
},0);
}
```
那么 为什么提取成函数 for 循环内调用就行了。
在 ES6 之前的,JS 是没有块级作用域变量的,也就是 后来为啥引入 let 的原因。 也就是说,在原来 for 循环内部的时候,post 执行时访问的都是同一个变量 i 。但是提成函数时,变量 i 的值被当做函数参数传入函数内。 那么每次 post 的时候,是从函数参数中获取到的。就不是原先 for 循环中定义的 i 了。

所以 前面的兄弟提到,可以用 let 代替 var 也能解决你的问题。是因为 let 定义的是块级作用域。 比如你可以测试一下如下程序
```
// var 定义 i
for(**var** i=0;i<5;i++){
setTimeout(function(){
console.log(i);
},0);
}
// let 定义
for(**let** i=0;i<5;i++){
setTimeout(function(){
console.log(i);
},0);
}
```
30 天前
回复了 miaowo 创建的主题 问与答 年纪轻轻患了癌症,关于未来有点迷茫了
不知道为啥,我脑海中蹦出来的是,癌症之后,出去游玩. 最后钱花光,癌症好了的 新闻

不是建议去效仿啊. 但有一点就是 要保持 **开心**

放下恐惧,做点能让自己**开心**的事. 奇迹会发生的
循环内部改造成函数调用就行了.....
`
var allimg = 获取到的图片数组;
var oldcontent = 原内容;
for(var i=0; i<allimg.length; i++){
var url = allimg[i]
doReplace(url); // 函数调用传值作用域会改变
}
function doReplace(url){
$.post('url', 参数, function(ret) {
if(ret['code'] == 200) {
oldcontent = oldcontent.replace(ret['oldimgurl'], ret['newimgurl']);
}else{
console.log(错误信息);
}
}, 'json');
}

`
1  2  3  4  5  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5975 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 40ms · UTC 02:31 · PVG 10:31 · LAX 19:31 · JFK 22:31
Developed with CodeLauncher
♥ Do have faith in what you're doing.