新足迹

 找回密码
 注册

精华好帖回顾

· 下周一飞Perth面试--Unsuccessful!(面试过程在29楼) (2010-3-12) whisper · 安装抽油烟机(完工) (2012-1-6) PACIFIC
· Cherish life! (2004-12-17) maribel · 复活节之墨尔本之旅 (2005-3-28) bandf
Advertisement
Advertisement
楼主:典

javsacript: bad codes vs good codes [复制链接]

发表于 2011-2-8 13:52 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2011-2-8 14:50 发表
我的意思是说, js很好,但为什么不上个台阶呢?

用managed code 来写 “JS”, 让compiler 来输出 cross-browser的js 或 dll。

道理跟 C#/Java => 2进制一样。

你同意吗?


你在说js还是silverlight?
Advertisement
Advertisement

特殊贡献奖章

发表于 2011-2-8 13:52 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2011-2-8 14:50 发表
我的意思是说, js很好,但为什么不上个台阶呢?

用managed code 来写 “JS”, 让compiler 来输出 cross-browser的js 或 dll。

道理跟 C#/Java => 2进制一样。

你同意吗?

在client side compile?
这个应该是在浏览器的层面搞定
目前几个大厂都好像没有这个意思

2010年度奖章获得者

发表于 2011-2-8 13:55 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
webform 不做就是有这雏形吗。

如果把JS 坐进 System.Javascript, 完全控制。

然后输出的是完美,完全可控的js,你拿到不喜欢?

发表于 2011-2-8 13:59 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2011-2-8 14:55 发表
webform 不做就是有这雏形吗。

如果把JS 坐进 System.Javascript, 完全控制。

然后输出的是完美,完全可控的js,你拿到不喜欢?


可能我没听懂你的本意,不过我理解你的意思是server side 出output到client side,如果是这样,这种模式我不喜欢,跟client side programming精神截然相反.会有compatibility/performance等等问题。

2010年度奖章获得者

发表于 2011-2-8 14:05 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
20年前大家都学会编
十几年前, 大家都说managed code 会失败,
去年,乱码说SP是最好的。

要会梦想才能进步, 要是输出的Compatibility/performace 比你手写的跟好呢?掌控度比你手写更高呢?

你喜不喜欢?
足迹 Reader is phenomenal. If you never used, you never lived 火速下载

发表于 2011-2-8 14:06 |显示全部楼层
此文章由 cdfei 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cdfei 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这样还是会有很多人不舒服,因为自动生成的肯定没有人工写的干净。

原帖由 dalaohu 于 2011-2-8 14:50 发表
我的意思是说, js很好,但为什么不上个台阶呢?

用managed code 来写 “JS”, 让compiler 来输出 cross-browser的js 或 dll。

道理跟 C#/Java => 2进制一样。

你同意吗?
Advertisement
Advertisement

发表于 2011-2-8 14:11 |显示全部楼层
此文章由 righttang 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 righttang 所有!转贴必须注明作者、出处和本声明,并保持内容完整
现在的JS,随便写写,都能让客户端死机。。。

2010年度奖章获得者

发表于 2011-2-8 14:14 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 cdfei 于 2011-2-8 15:06 发表
这样还是会有很多人不舒服,因为自动生成的肯定没有人工写的干净。


不是自动生成, 是在manage 环境下开发, 你有100%掌控输出的js。

甚至输出的是 压缩过的2进制的代码,你根本都不用在乎 ”干净“ 这个问题了。 因为已经不是问题了。
足迹 Reader is phenomenal. If you never used, you never lived 火速下载

发表于 2011-2-8 14:17 |显示全部楼层
此文章由 dadumile 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dadumile 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dadumile 于 2011-2-8 13:33 发表
i++有什么错?

有人知道吗第二个有什么问题?
无病第一利,知足第一富,善友第一亲,温馨第一乐

2010年度奖章获得者

发表于 2011-2-8 14:32 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
大家怎么都沉默了?

难道被我的这个梦想给震惊了?

发表于 2011-2-8 14:37 |显示全部楼层

回复 40# 的帖子

此文章由 cdfei 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cdfei 所有!转贴必须注明作者、出处和本声明,并保持内容完整
还是让大家都有口饭吃吧,慢慢来。
Advertisement
Advertisement

发表于 2011-2-8 14:42 |显示全部楼层
此文章由 yuba 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 yuba 所有!转贴必须注明作者、出处和本声明,并保持内容完整
GWT算吗?

发表于 2011-2-8 14:46 |显示全部楼层
此文章由 Dan.and.Andy 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Dan.and.Andy 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2011-2-8 15:32 发表
大家怎么都沉默了?

难道被我的这个梦想给震惊了?


都说人工智能了, 还要什么managed code, 需要实现逻辑的用户用人类语言提需求, 机器去实现, 神经病才关心机器倒底生成什么

2010年度奖章获得者

发表于 2011-2-8 14:54 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 yuba 于 2011-2-8 15:42 发表
GWT算吗?


GWT, 和一些 server-side JS 算是个好的开端吧, 是雏形阶段。
足迹 Reader is phenomenal. If you never used, you never lived 火速下载

发表于 2011-2-8 15:28 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
This website will tell the quality of javascript code. http://jslint.com/
For example
put following codes and click the JSLint button
/////////////////////
var i;
var j=0;
for(i=0;i<100;i+=1){
j++;
}

if(i==j){
alert("ddfd");
}

var m=parseInt(i);

////////////////////

The result is
/////////////////
Error:
Problem at line 4 character 2: Unexpected '++'.

j++;

Problem at line 7 character 5: Expected '===' and instead saw '=='.

if(i==j){

Problem at line 11 character 7: Missing radix parameter.

var m=parseInt(i);

Implied global: alert 8

[ 本帖最后由 典 于 2011-2-8 15:31 编辑 ]

发表于 2011-2-8 15:31 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
For the i++, shouldn't be a real problem, may be some performance hurt?
I have no idea about this.

It's said, i++ means "use i then plus 1", end up with two blocks of memory. It really dosn't matter to me.
Advertisement
Advertisement

发表于 2011-2-8 16:13 |显示全部楼层
此文章由 yuba 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 yuba 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 乱码 于 2011-2-8 14:44 发表
javascript 从design到implement一共用了两个星期


有出处吗?

发表于 2011-2-8 20:30 |显示全部楼层
此文章由 zhilaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 zhilaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Javascript现在前途是大大的好,怎么可能会消失呢

发表于 2011-2-8 21:10 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 yuba 于 2011-2-8 17:13 发表


有出处吗?


But the biggest influence, by far, was haste. The language was designed, implemented, and shipped in way too little time. Most languages take years to develop – for example, Smalltalk was eight years from Alan Kay’s first prototype to Smalltalk 80, when it was first made available to the public. That’s a good timeframe for a programming language, because you want to go through it and test it, make sure that it works, and refine it in order to make sure that it’s meeting its goals. JavaScript was prepared in about as many days. It’s amazing that he could get it done and designed and working in such an incredibly short time; in about two weeks. I challenge any language designer – it’s sort of like a quickfire challenge. That turns out not to be a good way to make software, but that’s how it was done, and we’re now living with the consequences of that. Had Netscape been a better managed company, they might have taken a lot more time, maybe a couple of extra weeks, to clean it up, and we wouldn’t be dealing with the bad parts that we have now. But we have.

http://developer.yahoo.com/yui/theater/video.php?v=crockonjs-2

退役斑竹

发表于 2011-2-8 21:14 |显示全部楼层
此文章由 阿Ka 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 阿Ka 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 乱码 于 2011-2-8 12:25 发表
nice one!!!

最后一个,如果次序不是很重要的话,

for(i=objs.length-1;i>=0;i-=1)

性能稍微再好点,0 vs local variable,还是常量0好点。


老大,这样呢?
for (var i = -1, obj; obj = objs[++i])

退役斑竹

发表于 2011-2-8 21:17 |显示全部楼层
此文章由 阿Ka 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 阿Ka 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 yuba 于 2011-2-8 17:13 发表


有出处吗?


这个我也听说过,而且据说是被稀里糊涂搞出来的
Advertisement
Advertisement

发表于 2011-2-8 21:24 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 阿Ka 于 2011-2-8 22:14 发表


老大,这样呢?
for (var i = -1, obj; obj = objs[++i])


看的我有点晕,你的分号没点对阿

发表于 2011-2-8 21:25 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 阿Ka 于 2011-2-8 22:17 发表


这个我也听说过,而且据说是被稀里糊涂搞出来的


嗯, Brendan Eich一直是我偶像。

你最近忙什么呢?不怎么来了?

发表于 2011-2-8 21:47 |显示全部楼层
此文章由 yuba 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 yuba 所有!转贴必须注明作者、出处和本声明,并保持内容完整
确实稀里糊涂

说它很好,因为2周就成这个样子是奇迹

说它可以更好,因为从1995年5月到12月,如果他们能像那2周一样,应该能让这个语言更完美

或者,5月到12月他们做了大量的工作,才让js有现在这么好?

只有当事人知道

退役斑竹

发表于 2011-2-8 21:53 |显示全部楼层
此文章由 阿Ka 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 阿Ka 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 乱码 于 2011-2-8 22:24 发表


看的我有点晕,你的分号没点对阿


忘了个分号在最后

退役斑竹

发表于 2011-2-8 21:54 |显示全部楼层
此文章由 阿Ka 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 阿Ka 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 乱码 于 2011-2-8 22:25 发表


嗯, Brendan Eich一直是我偶像。

你最近忙什么呢?不怎么来了?


太忙,刚settled,离你家不远,等我house warming
Advertisement
Advertisement

发表于 2011-2-8 21:54 |显示全部楼层
此文章由 nali 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 nali 所有!转贴必须注明作者、出处和本声明,并保持内容完整
没想到 js 还能搞出过 === 的格式来,算是服了它了。

这就跟回字有几种写法似的。

发表于 2011-2-8 22:00 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 阿Ka 于 2011-2-8 22:54 发表


太忙,刚settled,离你家不远,等我house warming


好快啊,等我带儿子去给你家闹闹

发表于 2011-2-8 22:03 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 yuba 于 2011-2-8 22:47 发表
确实稀里糊涂

说它很好,因为2周就成这个样子是奇迹

说它可以更好,因为从1995年5月到12月,如果他们能像那2周一样,应该能让这个语言更完美

或者,5月到12月他们做了大量的工作,才让js有现在这么好?

只有当事人知道


嗯,那时候netscape的年轻人有激情,可以瞎干一通也没人说三道四,现在不行了,条条框框太多,动一动就有人骂街

退役斑竹

发表于 2011-2-8 22:08 |显示全部楼层
此文章由 阿Ka 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 阿Ka 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 乱码 于 2011-2-8 23:00 发表


好快啊,等我带儿子去给你家闹闹


这还块啊,我看的时候,你都还没看呢。。。
我争取半年内搞定装修,买齐家居!复活节到5月份得回国一次,再回来之后估计就差不多了,之后我叫上丁丁他们,我们重聚首bbq,让你家小帅也顺便调戏下丁丁家的mm

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部