精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-12-20
你的意思是把所有方法都定义在 构造函数体 外? 类似这样:
function f(){ var p; ... } f.prototype.m1 = f... f.prototype.m2 = f... 这是个不错的习惯,jindw 的建议类似! |
|
返回顶楼 | |
发表时间:2007-12-21
太拗了~~~~在并不清楚prototype,并不清楚真正怎样模拟oo的情况下,说prototype太危险会带坏小朋友的~~~~ js 代码
|
|
返回顶楼 | |
发表时间:2007-12-21
[quote="prcjack"]你的意思是把所有方法都定义在 构造函数体 外? 类似这样: function f(){ var p; ... } f.prototype.m1 = f... f.prototype.m2 = f... 这是个不错的习惯,jindw 的建议类似![/quote] 什么叫做和jindw的建议类似~~~~是懂prototype的,都这么做~~~~~楼主的做法是只知其一不知其二。无意中,偷学到prototype=new xxxx的方法,就用它,却不知道为什么要这样用,这样用有什么好处,需要注意那些方面~~~~然后在不停的debug和hack后,告诉我们,原来~~啊,要小心prototype…… |
|
返回顶楼 | |
发表时间:2007-12-21
看来是我的代码习惯出了问题,我经常在构造函数内定义方法和私有变量。类似:
function f(){ var p; this.getP = function(){return p;} } 其目的是让类拥有私有变量,而getP为可以访问私有变量的“特权方法”。 |
|
返回顶楼 | |
发表时间:2007-12-21
根本不是特权方法,而是函数定义在scope当中了,当然会继承scope chain就是这么简单而已
|
|
返回顶楼 | |