在JS中创建对象时,两种不同的格式创建的对象有什么不同?

Codavid 2007-01-28 12:18:43
function baseObj(){
this.p = 0;
this.m = function(){
return this.p;
}
}

//第一种
function child1(){
this.p = baseObj;
this.p();

this.m = function(){
m();
}
}

//第二种
function child2(){
var p=baseObj;
p();
}

有什么不同吗?我用的时候好像是有影响的。
...全文
217 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
黄药师-掌风 2010-12-27
  • 打赏
  • 举报
回复
水平低 没办法理解啊
Codavid 2007-01-29
  • 打赏
  • 举报
回复
想来想去,好像是我搞错了。。。不好意思
Codavid 2007-01-29
  • 打赏
  • 举报
回复
是什么样的问题啊??
我想做的是子类的方法名和基类的一样,这样可以实现多态。但方法名一样就会stack overflow,又不知道怎么调用基类的方法。
有人怎么吗?谢谢
muxrwc 2007-01-28
  • 打赏
  • 举报
回复
第一种。。
相当于
this.p = function () {
this.p = 0;
this.m = function () {
return this.p;
};
};
第二种。。
相当于
var p = function () {
this.p = 0;
this.m = function () {
return this.p;
}
};

所以。。。里面。。。。的this的引用会发生问题。。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧