function ad()
{
this.MsgBox = MsgBox;
function MsgBox(msg)
{
alert(msg);
var obj = window.setTimeout("MsgBox('')", 500);
}
}var ad = new ad();
ad.MsgBox("a");
{
this.MsgBox = MsgBox;
function MsgBox(msg)
{
alert(msg);
var obj = window.setTimeout("MsgBox('')", 500);
}
}var ad = new ad();
ad.MsgBox("a");
改成
var obj = window.setTimeout(function(){MsgBox('')}, 500);
function ad()
{
this.MsgBox = function(msg)
{
alert(msg);
var obj = window.setTimeout("MsgBox('')", 500);
}
}
var ad = new ad();
ad.MsgBox("a");
function ad()
{
this.MsgBox = MsgBox;
function MsgBox(msg)
{
alert(msg);
var obj = window.setTimeout("ad.MsgBox('')", 500);
}
}var ad = new ad();
ad.MsgBox("a");2.要么这样
function ad()
{
this.MsgBox = MsgBox;
var self = this;
function MsgBox(msg)
{
alert(msg);
var obj = window.setTimeout(function(){self.MsgBox('')}, 500);
}
}var ad = new ad();
ad.MsgBox("a");
你那么写,MsgBox函数会在window域或者说全局域中找,所以就undefined了
{
this.MsgBox = MsgBox;
var _this=this;
function MsgBox(msg)
{
alert(msg);
var obj = window.setTimeout(function(){_this
.MsgBox('')}, 500);
}
}
var ad = new ad();
ad.MsgBox("a");
{
this.MsgBox = MsgBox;
function MsgBox(msg)
{
var mmg=mg(msg)
setTimeout(mmg, 5000);
alert(msg);
}
function mg(msg)
{
return function(){MsgBox(msg);}
}
}var ad = new ad();
ad.MsgBox("asdsd");
{
this.MsgBox = MsgBox;
var _this=this;
function MsgBox(msg)
{
alert(msg);
var obj = window.setTimeout(function(){ _this.MsgBox(''); }, 500);
}
}
var ad = new ad();
ad.MsgBox("a");
这样多个对象的话不是乱了?ad.MsgBox是调用那个?如
{
this.MsgBox = MsgBox;
function MsgBox(msg)
{
alert(msg);
var obj = window.setTimeout("ad.MsgBox('')", 500);
}
}var ad = new ad();
ad.MsgBox("a");
{
this.MsgBox = MsgBox;
var t = this;
function MsgBox(msg)
{
alert(msg);
var obj = window.setTimeout(t.MsgBox, 500);
}
}var ad = new ad();
ad.MsgBox("a");