怎么回事呢?function Bos()
{
this.Dothis = function(x)
{
var obj = document.getElementById(x);
this.t = 0;
gthis = this;
obj.onmouseout = function()
{
gthis.t = window.setInterval( function()
{
obj.innerHTML = Math.random().toString();
}, 1000);
};
obj.onmouseover = function()
{
window.clearInterval( gthis.t );
};
};
}var obj = new Bos();
obj.Dothis( "id1" );
var objx = new Bos();
obj.Dothis( "id2" );
{
this.Dothis = function(x)
{
var obj = document.getElementById(x);
this.t = 0;
gthis = this;
obj.onmouseout = function()
{
gthis.t = window.setInterval( function()
{
obj.innerHTML = Math.random().toString();
}, 1000);
};
obj.onmouseover = function()
{
window.clearInterval( gthis.t );
};
};
}var obj = new Bos();
obj.Dothis( "id1" );
var objx = new Bos();
obj.Dothis( "id2" );
var obj = new Bos();
obj.Dothis( "id1" );
var objx = new Bos();
obj.Dothis( "id2" );
两个不同DIV属性ID的东西。但第二个有效。第一个无效。
var obj = new Bos();
obj.Dothis( "id1" );
var objx = new Bos();
obj.Dothis( "id2" );
两个不同DIV属性ID的东西。但第二个有效。第一个无效。
错了
var obj = new Bos();
obj.Dothis( "id1" );
var objx = new Bos();
objx.Dothis( "id2" );obj和objx会覆盖,objx执行后,obj不执行了。
function Bos()
{
this.Dothis = function(x)
{
var obj = document.getElementById(x);
console.log(obj);
this.t = 0;
var gthis = this; //如果不用var ,gthis就会定义到根对象也就是window上,那就成为单例了,
obj.onmouseout = function()
{
gthis.t = window.setInterval( function()
{
obj.innerHTML = Math.random().toString();
}, 1000);
};
obj.onmouseover = function()
{
window.clearInterval( gthis.t );
};
};
}
var obj = new Bos();
obj.Dothis( "id1" );
var objx = new Bos();
objx.Dothis( "id2" );
运行的时候 window只有一个