function test() {
var jc = new JSClass();
jc.Render();
}
function JSClass()
{
this.m_Text = 'division element';
this.m_Element = document.createElement('DIV');
this.m_Element.innerHTML = this.m_Text;
this.m_Element.attachEvent('onclick', ToString(this)); ★
}
JSClass.prototype.Render = function()
{
document.body.appendChild(this.m_Element);
}
function ToString(abc)
{
alert(abc.m_Text);
};
五角星的地方我调用了下边的ToString函数,可是画面刷新的时候就弹出了m_Text的内容,然后就报运行时错误,说种类不一致。
请教各位,这是什么原因,以及如何解决。感激各位照顾下我这个初学者。:)
var jc = new JSClass();
jc.Render();
}
function JSClass()
{
this.m_Text = 'division element';
this.m_Element = document.createElement('DIV');
this.m_Element.innerHTML = this.m_Text;
this.m_Element.attachEvent('onclick', ToString(this)); ★
}
JSClass.prototype.Render = function()
{
document.body.appendChild(this.m_Element);
}
function ToString(abc)
{
alert(abc.m_Text);
};
五角星的地方我调用了下边的ToString函数,可是画面刷新的时候就弹出了m_Text的内容,然后就报运行时错误,说种类不一致。
请教各位,这是什么原因,以及如何解决。感激各位照顾下我这个初学者。:)
因为闭包的问题
前阵子这里的大牛们讨论过给你几个例子~~~http://topic.csdn.net/t/20060316/11/4618227.html
http://script.xhtmlhelp.net/VBscript/200610/8321.shtml
http://www.cnblogs.com/skyakira/archive/2007/02/11/647466.html