刚学,新手问题function Person(name,age)
{
this.name=name;
this.age=age; var addAge=function(value){
//alert(this.age) 为什么此时的this.age是undefined
this.age+=value;
}; this.getAge=function(){
addAge(1);
alert(this.age);
};
}
结果肯定是错的,根本没加,局部方法中那个this.age是undefined的,这是为什么?正确的应该怎么写?
{
this.name=name;
this.age=age; var addAge=function(value){
//alert(this.age) 为什么此时的this.age是undefined
this.age+=value;
}; this.getAge=function(){
addAge(1);
alert(this.age);
};
}
结果肯定是错的,根本没加,局部方法中那个this.age是undefined的,这是为什么?正确的应该怎么写?
解决方案 »
- 菜鸟问题
- 问一个falsh播放的问题
- 消息框弹不出来!
- javascript中通过循环获取div的值??
- 高手请进,如何给html链接,加上验证功能
- 再次提个菜鸟级的问题
- 如何设置showimage.style.visibility="hidden"和document.showimage.visibility="hide"属性,使隐藏属性改为显示属性呢?谢谢,在线等。
- 求与以下功能一样的javascript函数!要求有同样的返回值!!!!!!!!!!!!!!!!!!!!!!!!!!
- 我的想法,请教一下怎么实现!谢谢
- 在线求助!关于Onchange事件
- 使用JQUERY处理QQ农场传来的JSON对象问题。高手请进!
- 一个关于DOM的问题,请各位大虾帮忙!
function Person(name,age)
{
this.name=name;
this.age=age; var addAge=function(value){
alert(this.age);
this.age+=value;
alert(this.age);
}; this.getAge=function(){
addAge(1);
alert(this.age);
};
addAge(22)
}
Person('fdjksa',33)
</script>
没问题好像
function Person(name,age)
{
this.name=name;
this.age=age; //var addAge=function(value){
// alert(this==window)// 为什么此时的this.age是undefined ,这个方法的this表示window对象
// this.age+=value;
//};
this.addAge=function(value){
alert(this==window)// 为什么此时的this.age是undefined
this.age+=value;
}; this.getAge=function(){
this.addAge(1);
alert(this.age);
};
}
var p=new Person("aa",2);
p.getAge();
<script type="text/javascript">
function Person(name,age)
{
this.name=name;
this.age=age;
var that = this; //指向当前对象
var addAge=function(value){
alert(that.age);
that.age+=value;
};
this.getAge=function(){
addAge(1);
alert(this.age);
};
}
</script>
javascript权威指南5~·里面讲得细 楼主可以看看
http://topic.csdn.net/u/20081005/22/0cf5e7d3-a4e2-4881-91e5-146092c94a94.html