• 全部
  • 问答

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

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>
...全文
23 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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,为什么还要再返回给你呢?不解
回复
发帖
JavaScript
创建于2007-09-28

8.5w+

社区成员

Web 开发 JavaScript
申请成为版主
帖子事件
创建了帖子
2004-05-04 05:31
社区公告
暂无公告