论坛首页 Web前端技术论坛

JS 中面向对象的5种写法

浏览 74228 次
精华帖 (0) :: 良好帖 (3) :: 新手帖 (15) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-08-08  
看好第一种的是写多了java,常有的,更好的是第三种和第四种。
0 请登录后投票
   发表时间:2009-08-08  
比较赞成第一种写法
0 请登录后投票
   发表时间:2009-08-09  
自己蛮喜欢第一种的,习惯而已。
0 请登录后投票
   发表时间:2009-08-09   最后修改:2009-08-09
.其实这个是看需要的。
第一种可以看作真正的面向对象,适合要创建多个实例的时候
第二种不常见,不是很好的写法
第三种和第四种其实是一个形式的,我经常用作命名空间和伪数组还有JSON
第五种这写法太特别了,至少我没写过
0 请登录后投票
   发表时间:2009-08-09  

最常见的应该是第一种跟第四种,但是以上理解都有点偏差。

第一种从java角度来说,是一个普通的类,这个类需要调用的时候,就new xx()这样一个对象出来。

第四种,从java的角度来说,是一个单例类!你调用的时候直接XXX.xx()这样调用,不需要new。

如果你可以理解普通的类,跟单例类的概念,你应该就可以明白什么类应该是什么用法了。

这2种写法是最常见的,也是推荐的写法。其它的,比较非主流吧。至于第五种,算是垃圾写法吧,Function效率很低。
0 请登录后投票
   发表时间:2009-08-10  
Jamson 写道
wyh6635 写道
第一种, 个人觉得第一种的对像的封装看起来比较流畅.易读.

恩,我看到《JavaScript高级程序设计》里面也推荐第一种。

一个培训计算机的学校,呵呵,大学啥也学不到
0 请登录后投票
   发表时间:2009-08-10  
有一种方法就足够了,
何必将时间用在研究四五种方法上呢
0 请登录后投票
   发表时间: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 = '';

0 请登录后投票
   发表时间:2009-08-10  
"回"字也有五种写法....
1 请登录后投票
   发表时间: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种是不一样的。适用的场合跟范围不太一样。
0 请登录后投票
论坛首页 Web前端技术版

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