锁定老帖子 主题:JS 中面向对象的5种写法
精华帖 (0) :: 良好帖 (3) :: 新手帖 (15) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-08-08
看好第一种的是写多了java,常有的,更好的是第三种和第四种。
|
|
返回顶楼 | |
发表时间:2009-08-08
比较赞成第一种写法
|
|
返回顶楼 | |
发表时间:2009-08-09
自己蛮喜欢第一种的,习惯而已。
|
|
返回顶楼 | |
发表时间:2009-08-09
最后修改:2009-08-09
.其实这个是看需要的。
第一种可以看作真正的面向对象,适合要创建多个实例的时候 第二种不常见,不是很好的写法 第三种和第四种其实是一个形式的,我经常用作命名空间和伪数组还有JSON 第五种这写法太特别了,至少我没写过 |
|
返回顶楼 | |
发表时间:2009-08-09
最常见的应该是第一种跟第四种,但是以上理解都有点偏差。 第一种从java角度来说,是一个普通的类,这个类需要调用的时候,就new xx()这样一个对象出来。 第四种,从java的角度来说,是一个单例类!你调用的时候直接XXX.xx()这样调用,不需要new。 如果你可以理解普通的类,跟单例类的概念,你应该就可以明白什么类应该是什么用法了。 这2种写法是最常见的,也是推荐的写法。其它的,比较非主流吧。至于第五种,算是垃圾写法吧,Function效率很低。 |
|
返回顶楼 | |
发表时间:2009-08-10
Jamson 写道 wyh6635 写道 第一种, 个人觉得第一种的对像的封装看起来比较流畅.易读.
恩,我看到《JavaScript高级程序设计》里面也推荐第一种。 一个培训计算机的学校,呵呵,大学啥也学不到 |
|
返回顶楼 | |
发表时间:2009-08-10
有一种方法就足够了,
何必将时间用在研究四五种方法上呢 |
|
返回顶楼 | |
发表时间:2009-08-10
还有一种写法你没有见过吧,这种感觉才是最好的,连着 命名空间一起建好了
if (!window['google']) { window['google'] = {}; } if (!window['google']['loader']) { window['google']['loader'] = {}; google.loader.ServiceBase = 'http://www.google.com/uds'; google.loader.GoogleApisBase = 'http://ajax.googleapis.com/ajax'; google.loader.ApiKey = 'notsupplied'; google.loader.KeyVerified = true; google.loader.LoadFailure = false; google.loader.Secure = false; google.loader.ClientLocation = null; google.loader.AdditionalParams = ''; |
|
返回顶楼 | |
发表时间:2009-08-10
"回"字也有五种写法....
|
|
返回顶楼 | |
发表时间:2009-08-10
vb2005xu 写道 还有一种写法你没有见过吧,这种感觉才是最好的,连着 命名空间一起建好了
if (!window['google']) { window['google'] = {}; } if (!window['google']['loader']) { window['google']['loader'] = {}; google.loader.ServiceBase = 'http://www.google.com/uds'; google.loader.GoogleApisBase = 'http://ajax.googleapis.com/ajax'; google.loader.ApiKey = 'notsupplied'; google.loader.KeyVerified = true; google.loader.LoadFailure = false; google.loader.Secure = false; google.loader.ClientLocation = null; google.loader.AdditionalParams = ''; 这种写法其实跟列出来的第三种写法差不多, var xxx = new Object();跟var xxx={};是一样的,{}是Object的直接量表示,跟第四种写法 var xxx={ } 也是一样的。google这里的写法跟第四种写法是一样效果。 google.loader={ ServiceBase = 'http://www.google.com/uds', GoogleApisBase = 'http://ajax.googleapis.com/ajax', ApiKey = 'notsupplied', KeyVerified = true, LoadFailure = false, Secure = false, ClientLocation = null, AdditionalParams = '' } 不要拿更多的例子来误导别人了。无论新手老手,用第1种跟第4种就可以了。第1种跟第4种是不一样的。适用的场合跟范围不太一样。 |
|
返回顶楼 | |