如何在自定义对象中取得定义变量时的名称

liwp_Stephen 2004-05-04 05:31:24
我想写一个自定义对象, 然后在这个对象的函数中取得定义这个对象的变量名
比如:
对象定义如下:
function MyPage(){
// 成员变量
this.pageSize = 10;
this.lineNum = 20;

// 方法
this.getName = _getName;
}

function _getName(){
var name;
name=……; // 取得对象的名称
return name;
}

// 下面是使用该对象的web页面中的代码
<script language="JavaScript" src="myPage.js">
</script>

<script language="JavaScript">
var newPage = new MyPage();
var pageName = newPage.getName();// 我希望该函数返回的值为newPage, 不知如何能做到
</script>
...全文
56 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
joe820302 2004-05-04
  • 打赏
  • 举报
回复
那按照我的理解,就不是取
var newPage = new MyPage();
的name(newPage )。

而是取
var newCheckBox = document.createElement("<input type=\"checkbox\">");
的name。
liwp_Stephen 2004-05-04
  • 打赏
  • 举报
回复
其实我希望实现的功能是:
定义一个新对象,在这个对象中创建多个checkbox, 并给新创建的
checkbox attach一个onclick事件,响应事件是这个对象中的一个函数,
由于将这个checkbox插入到document的body中后,onclick事件触发这个
函数后,这个函数并不属于这个对象,比如:
function MyPage(){
this.checkBoxState = new Array();
this.createCheckBox = _createCheckBox;
this.chooseCheckBox = _chooseCheckBox;
}

function _createCheckBox(){
var newCheckBox = document.createElement("<input type=\"checkbox\">");
newCheckBox.value = 1;
newCheckBox.attachEvent("onclick", this.chooseCheckBox());
}

function _chooseCheckBox(){
var srcObj = window.event.srcElement;
var value = parseInt(srcObj.value);
this.checkBoxState[value] = (srcObj.checked) ? 1 : 0;
}
当选择checkBox时,调用函数chooseCheckBox时有错误,因为这时
this对象不是这个对象,也就是说触发这个函数时没有把对象传递到
函数中。
因此我想如果在对象的函数中能够取得这个对象的名称,那么在相应
事件的函数中就可以访问用户定义的对象了,而且我希望在一个页面
中可以定义多个这种自定义对象,另外我不希望在定义这个对象的时
候还需要将对象的名称传给构造函数。
fason 2004-05-04
  • 打赏
  • 举报
回复
function MyPage(_name){
// 成员变量
this.name = _name;
this.pageSize = 10;
this.lineNum = 20;


// 方法
this.getName = _getName;
}

function _getName(){
return this._name;
}

var newPage = new MyPage("newPage");
joe820302 2004-05-04
  • 打赏
  • 举报
回复
newPage.getName();
既然知道了newPage,为什么还要再返回给你呢?不解

87,907

社区成员

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

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