关于js中function的疑惑
小弟在使用js function时遇到一个问题:
首先自定义一个object:
MyObject=funtion(name,age){
this.name=name
this.age=age
}
MyObject.prototype={
test:function(){
alert(this.name)
}
}
然后在html:
其他省略
<head>
<script....>
var a = new MyObject("Jack","20")
onload=function(){
document.getElementById('button').onclick=a.test
}
</script>
</head>
这样的话alert出来的结果是一个empty,而不是"jack",而如果改成a.test()的话就可以得到"jack",当然,如果该了得话,就不是一个回调函数了。
我想知道为什么把a.test作为一个object赋值给onclick后就不能得到a的proprty了呢?
我自己的理解是这里a.test作为一个object,已经脱离了MyObject而单独存在,所以不能引用a里面的class variable,不知道这样理解对不对。