这里的this指的是对象obj,而不是func
<script language=javascript>
function obj(){
this.name = 'oldobjname';
}obj.prototype.func = function(value){
this.funcName = 'funcName';
this.setName(value)
}
obj.prototype.setName = function(value){
this.name=value;
}var a = new obj();//实例化一个obj对象a
alert(a.name);//这里为原来的值 oldobjname
a.func('newobjname');//赋值
alert(a.name);//这里应该是newobjname
</script>
<script language=javascript>
function obj(){
this.name = 'oldobjname';
}obj.prototype.func = function(value){
this.funcName = 'funcName';
this.setName(value)
}
obj.prototype.setName = function(value){
this.name=value;
}var a = new obj();//实例化一个obj对象a
alert(a.name);//这里为原来的值 oldobjname
a.func('newobjname');//赋值
alert(a.name);//这里应该是newobjname
</script>
this.name = 'oldname';
this.func = new (function(parent){
this.setObjName = function(value){
parent.name = value;
}
})(this);
}