V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ming159  ›  全部回复第 2 页 / 共 5 页
回复总数  94
1  2  3  4  5  
34 天前
回复了 iceWater10 创建的主题 职场话题 学计算机的你们后悔了吗?
后悔,应该直接学怎么赚钱
36 天前
回复了 UncleBrandy 创建的主题 电影 V 友推荐好看的间谍片、动作片。
推荐部黑帮英剧吧,但是贼帅 <浴血黑帮>

fucking shelby !
36 天前
回复了 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);
}
```
44 天前
回复了 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');
}

`
44 天前
回复了 eughplease 创建的主题 问与答 给程序员朋友送什么礼物比较好
补充一下,纯粹个人极其强烈的偏见.
1. 首先你跟 前前男友有矛盾 的时候,为啥找他倾诉? 没有同性闺蜜吗?
2. 你答应人家回国一起玩,中途遇到新的男生就接受了 .说明 你也没那么看重他

合理怀疑一下: 现在是不是没有"新鲜"男生追你了. 所以想起 他了?

有一点可以祝福的是, 不管是他,还是 OP,都会遇到自己对的人.
44 天前
回复了 eughplease 创建的主题 问与答 给程序员朋友送什么礼物比较好
看完故事后,觉你还是别送了 🤣🤣🤣 放过好人
广汉 三星堆
成都市内 金沙博物馆. 强烈推荐.
青城山,建议一天 .
都江堰 可以和成都市内拼 一天. 因为都江堰山上可以爬爬,山后的 西街 也还可以.
要想系统性了解,可以看 计算机图形 相关书籍.例如 OpenGL
把数学搞好!
必有的功能,平移,旋转,缩放.翻转,变形等等都是坐标系的计算.
各种形状都是三角函数,正弦曲线公式,圆等等的拟合. 例如给你老婆绘制一个小爱心形状.
48 天前
回复了 lanweizhujiao 创建的主题 程序员 Java 自己写什么功能可以提升技术?
@keepRun 别开玩笑,我是个菜逼
49 天前
回复了 lanweizhujiao 创建的主题 程序员 Java 自己写什么功能可以提升技术?
基于这个 https://github.com/dapr/dapr. 我来提需求,你来实现. 保证你技术提升一日千里🤣
QTTabBar: 资源管理器增强. 增加 Tab 功能等等.
Listary: 双击 Ctrl 全局搜索,启动程序,键盘党的神器.
回音壁的主打场景是多声道,身临其境的音效. 需要影视资源本身支持. 但也不推荐 homepod mini. 但是如果想用 homepod mini 作为智能家居中枢,另当别论.

1. 自己平时看的是啥,如果是国内 爱优腾 之类综艺,电视剧之类的. 没必要考虑回音壁. 硬件再好,音效好的片源
较少. 回音壁发挥不出优势. Homepod 又没性价比.

2. 要是主要看 Netflix,Disney+,YouTube,很多都是 杜比视界,5.1 声道.可以考虑回音壁. 但 Homepod,又支持不了多声道...

如果情况是 1,建议买个便宜点的桌面 2.0 音箱就行. 但最好选择支持 **HDMI eARC**的. 一个索尼电视遥控器就可以同步控制音量. (同轴,光纤链接的音响 ,调节音量需要 2 个遥控器!!! 电视本身音量+-,音箱音量的+-是独立分开的)
87 天前
回复了 gyinbj 创建的主题 程序员 桌面软件开发求助
供你们自行评估吧:
QT :
微软的桌面软件应该是最强的了. 但主要 C# 开发.
WinForm: 最古老,最简单.但不好看.
WPF. 也不难.好看
avaloniaui: https://avaloniaui.net/
98 天前
回复了 mokeyjay 创建的主题 香港 有一个拿香港身份的机会,但我却犹豫了
钱,钱,钱.
如果有身份没钱也没多大用处.
如果钱够,再能拿个香港身份. 那就 1+1>2.

或者拿到香港身份搞钱更容易. 也没啥犹豫的,干就完了.
1. 山姆的包装一般都是大容量装,要是按照克重算单价,会比小包装的便宜.
2. 选品还是不错的.山姆里的一般都是同类中,品质不错的.省去自己货比三家的麻烦.可以闭眼拿. 当然品质要求更高的另说.
1  2  3  4  5  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2307 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 08:40 · PVG 16:40 · LAX 01:40 · JFK 04:40
Developed with CodeLauncher
♥ Do have faith in what you're doing.