for (var i = 0; i < result.length; i++) {
result[i].content = marked(result[i].content);
};
for result in results result.content = marked(result.content)
晕,缩进消失了…楼主自己缩进吧…
要用也应该用 forEach,在这个上下文中。
results? 是要替换result.content的值哟。
@zysam 你的 result 取名不好,所以我没有按你的取名而已。如果坚持你的取名就是:
for _r in result:
do_sth
这是替换自身的语句吗?
@alsotang 还是不明白你的意图,这样操作二维数组的。。
@alsotang
do -> result[n].content = marked r.content for r,n in result
我自已琢磨出来了。
@zysam 我觉得 @jiyinyiyong 应该和我一样想哭。。
@zysam 我建议你使用原生 JS 写代码,再慢慢熟悉 CoffeeScript…
@alsotang 不好意思呀,我新学的JS和CS。当看到你们的回复时,就知道自己的提问方式不对。。。
这样挺好的嘛“
result.forEach(function (item) {
item.content = marked(item.content);
});
@jiyinyiyong for results in results 改为 for result in results 。
我建议大家放弃coffeescript!穿那么多衣服干吗?
一、
for (var i = 0; i < results.length; i++) {
results[i].content = marked(results[i].content);
};
二、
(function() {
var result, _i, _len;
for (_i = 0, _len = results.length; _i < _len; _i++) {
result = results[_i];
result.content = marked(result.content);
}
}).call(this);
为什么这两句达到效果一样,我原先以为,第一种才会改变results属性的值。而第二种是results属性的值赋到一个新对象result上,而results本身没有改动。这里的js语法很令我很迷糊。
浏览端: 1、正因为JS的地位不可改变(不可能改变、不让改变,原因自己想),再用coffeescript往上套语义,更厚; 2、coffeescript那也叫编译?
服务端: 1、NodeJS就是用JS搞的,说明这个语言有可取之处; 2、但在服务端,写法完全和同类服务端语言不同(基于事件驱动和单进程,这受客户端的启发);
其它: 1、JS没有类,可很多人喜欢class,这不是找乱嘛; 2、JS对面向对象有自己的理解; 3、我们不能全盘接受,也不能全盘否定,对吧?
管理员把我的回复功能关了,有本事把我号删了?