如何正确使用Object.extend?在线求解

EdwardLong 2011-07-22 03:51:30
想写个表格操作框架,但在 Object.extend 使用上没有搞懂。
在TableClass.prototype.Create 的方法中,提示错误为:$O 没有找到。
这个Object.extend 在我的代码中应该如何处理??

function TableClass(){
var $O = {
className:null,
id:null
}


TableClass.prototype.Create = function(tab)
{
Object.extend($O,tab); //这里报错,提示 $O 没有找到。
alert($O.className);
}


//调用
var Dlvr = new TableClass();
Dlvr.Create({
id:"T1",
className:"StrokeTab",
});
...全文
273 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
licip 2011-07-30
  • 打赏
  • 举报
回复
是的。extend是要你自己写的。
lionfox 2011-07-26
  • 打赏
  • 举报
回复
extend只是自定义的方法而已,又不是object自带的
胡飞 2011-07-22
  • 打赏
  • 举报
回复


能有‘写框架’的冲动是很值得赞赏的。

建议看看这篇文献http://wenku.baidu.com/view/5d1f87d049649b6648d7479f.htmlJS-OOP,
祝你成功!
JParser 2011-07-22
  • 打赏
  • 举报
回复
首先$0你是在TableClass内定义的,你在Create里怎么能访问到。其次Object没有extend方法,报的错都以经提示得很清楚了。孩子你还是太年轻,写框架还是不太适合你,还是先看看书吧。
挨踢直男 2011-07-22
  • 打赏
  • 举报
回复
Object有extend这个静态方法吗?
你自定义的?
EdwardLong 2011-07-22
  • 打赏
  • 举报
回复
以上问题 已经解决了。
但是又碰到了新的问题

调用
Dlvr.Create({
appendTo:"DlvrData",
className:"StrokeTab",
align:"center",
cell:{autoId:true,widht:300},
row:{rowNumber:3}
});

问题在使用 Object.extend 后,有对象丢失。
alert($o.cell.width +"\n"+ $o.row.rowNumber) 使用前能得到正确的对象值
Object.extend($o,tab);
alert($o.cell.width +"\n"+ $o.row.rowNumber) 使用后 $o.cell.width 变成 undefinde

EdwardLong 2011-07-22
  • 打赏
  • 举报
回复
function TableClass(){
this. className=null,
this.id=null


Object.extend(TableClass.prototype,tab); // 如果改成这样,报错提示 Object.extend is not a function.

请懂的朋友 多多指教

87,989

社区成员

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

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