js代码如下:<script type="text/javascript">
var o1 = {testvar:11, fun:function() { alert('o1: ' + this.testvar); }};
var o2 = {testvar:22, fun:function() { alert('o2: ' + this.testvar); }};
alert(o1.fun());
alert(o2.fun());
alert(o1.fun.call(o2));
</script>预期的效果是相继弹出:
o1:11
o2:22
o2:22
但是弹出的值却是:
o1:11
undefined
o2:22
undefined
o2:22
undefined
每次弹出函数执行的结果后总是弹出一个undefined,这个undefined是到底从何而来,请高手指点。
var o1 = {testvar:11, fun:function() { alert('o1: ' + this.testvar); }};
var o2 = {testvar:22, fun:function() { alert('o2: ' + this.testvar); }};
alert(o1.fun());
alert(o2.fun());
alert(o1.fun.call(o2));
</script>预期的效果是相继弹出:
o1:11
o2:22
o2:22
但是弹出的值却是:
o1:11
undefined
o2:22
undefined
o2:22
undefined
每次弹出函数执行的结果后总是弹出一个undefined,这个undefined是到底从何而来,请高手指点。
也是弹出一次a 一次undefined
跟你这上面有区别吗?????????
{
var o1=new Test(11);
alert(o1.fun())
});
function Test(testvar)
{
this.testvar=testvar;
if(typeof Test._initial=='undefined')
{
Test.prototype.fun=function()
{
return this.testvar;
}
}
Test._initial=true;
}undefined是什么,就是没定义的意思
比方说:
var a;
alert(a)
返回就是"undefined"