论坛首页 Web前端技术论坛

提速javascript开发(二)

浏览 26934 次
该帖已经被评为良好帖
作者 正文
   发表时间:2007-04-11  
wtnhwbb 写道
不错NX
楼主的总结的很好,经过大家的讨论才可以更加深刻领会JavaScript的灵活性。对于Object原型的继承我不敢苟同,但加入方法还是可以的。
至于Spring,我想lz不应该和JavaScript来对比。两者不属于同一个层次,一个框架和一种语言就好比一个穿了漂亮衣服的美女和一个裸体的男人一样。
0 请登录后投票
   发表时间:2007-04-24  
不错的方法,不过要小心使用,最好经过严格测试才作为框架,要不然谁也不敢用.
0 请登录后投票
   发表时间:2007-06-27  
有关JavaScript程序设计,说一点自己的看法,与大家讨论。
不要为了OO而OO
框架级的代码或者JS控件使用OO进行设计,会带来很多好处,不仅可以简化开发的复杂度,实现代码复用,而且调用、维护起来也很方便。但是,OO在给我们带来方便的同时,也带来了较大的副作用:
1、很多情况下,是没有必要使用OO的,例如,对一个输入框中用户输入的内容进行校验,检验部分代码就没必要封装为对象。
2、OO的公有成员/私有成员、继承、覆盖等特性确实给我们的编程带来了方便,但是,这是有代价的。每封装一个层次,创建一个新的对象,都会带来性能上更多的损耗。JavaScript语言本身并不提供私有成员、继承这样的特性,而且,由于是解释性语言,其性能与预编译语言相比,要差很多。因此,扬短避长,为了实现一个OO特性,而用额外的代码去维护,消耗更多的资源,是否值得?在此基础上建立的程序,有可能封装了很多层,最  上层应用的运行效率可想而知。
    不要忘记,我们的代码最终是要交付用户使用的,即使代码写得多么合理,多么OO,如果运行效率很低的话,那么用户也是不会满意的。所以,在什么情况下使用OO,什么情况下不使用OO,是需要根据具体的应用目的,仔细考虑和规划的,而为了赶时髦而使用OO更是不可取。
0 请登录后投票
   发表时间:2007-06-28  
jindw 写道
居然不是精华了,那就评论一下:

先不论你这些API的优劣,首先,你严重的污染了JavaScript。
举例:
我原来有断代码:
var map = {key1:1,key2:2};
for(var k in map){
  alert(map[k]);
}
加上你的程序之后,原来这段代码的行为就改变了!

有了这种风险,还有那位敢轻易使用这个?



老贴重评。

说句老实话,虽然我也不喜欢在object.prototype上动手脚,但是这样就评价他严重污染js,有点太苛刻了。毕竟,for in当map用只是一个惯用法,也可以认为应该更严谨的加上hasOwnProperty的判断,或者应该使用真正的Map类。

当然,做类库的话,最好不要做这种事情。
0 请登录后投票
   发表时间:2007-06-28  

zxmlgh 写道:

这些内容确实容易误导人,如果能在javascript语言实现这个级别,完成这些功能,会更好些。super与extends都是javascript的保留字,我想javascript语言的设计者,对这方面也是有自己的思考:要用这些,又没用。我不清楚这些设计者的思考是怎么样的,也不太清楚他们顾虑的是什么。既然保留了,那将来肯定是会实现这些功能的。这些编码模式平时自己用的也蛮爽,就暂时做个出头鸟吧!

     恩楼上说在Function中做这些值得思考,多谢指点。不过这样做,不是不好而是会遇上一些问题,我暂时无法用语言组织。大家多提些意见,我们一起前进。






super/extends成为保留字没有什么深谋远虑的,仅仅是因为这些都是java的保留字而已。当然es4会使用一些这些关键字,这也不是预留,而是既然有,那就用着……
0 请登录后投票
   发表时间:2007-06-28  
apollo7733 写道
记得刚毕业面试时候,就是让我用javascript模拟oo,这大概是02的事情,那时候国内还很少看到这些写法。那么现在呢,prototype,dojo,yui等等很多很多框架;
但是个人认为,没有必要花太多的时间在javascript上面,大家有都有从客户端-->服务器,从页面到架构,工资也是一步步高起来,开发了这么多,页面其实是累活,脏活,我觉得怎么简单,怎么做,写得再oo,也没有什么意义,ajax是个好东西,这是被google带起来的,但是将来,flex,wpe,谁能知道下一代的技术。
与其花时间研究这些,还不如,尽早服务器转型,早日提升自己的money,客户端,用经典的就可以了。


不敢苟同也。
0 请登录后投票
   发表时间:2007-06-28  
apollo7733 写道
记得刚毕业面试时候,就是让我用javascript模拟oo,这大概是02的事情,那时候国内还很少看到这些写法。那么现在呢,prototype,dojo,yui等等很多很多框架;
但是个人认为,没有必要花太多的时间在javascript上面,大家有都有从客户端-->服务器,从页面到架构,工资也是一步步高起来,开发了这么多,页面其实是累活,脏活,我觉得怎么简单,怎么做,写得再oo,也没有什么意义,ajax是个好东西,这是被google带起来的,但是将来,flex,wpe,谁能知道下一代的技术。
与其花时间研究这些,还不如,尽早服务器转型,早日提升自己的money,客户端,用经典的就可以了。



呵呵,我就是从服务器端转到客户端的。。
感觉现在的工作专注多了,不像以前要关注数据库、应用服务器、linux,还有各种开源框架。。
现在就做javascript开发,不用考虑太多,主要考虑些usability方面的东西,ajax等技术只是辅助手段。最主要的,工资是以前的好几倍~
0 请登录后投票
   发表时间:2007-06-28  
所以关键是找到适合自己的。

当然纯粹搞js代码确实不会薪水很高。但是做ux的可以很高。做usablity的可以很高。搞js库和web开发库的也许会很高(jindw偷笑中)。。。
0 请登录后投票
   发表时间:2007-06-28  
一直搞不懂什么叫 “侵入” ”无侵入“ 
长见识了
0 请登录后投票
   发表时间:2007-06-28  
一直不知道什么叫“侵入”,“无侵入”
长见识了
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics