`
wj.king
  • 浏览: 68953 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

javascript中的this纪录

阅读更多
<script language="javascript">
function classA(sColor){
    this.color = sColor;
    this.sayColor = function(){
        alert(this.color);
    }
}

function classB(sColor,name){
    this.newMethod = classA;
    this.newMethod(sColor);
    delete this.newMethod;
    this.name = name;
    this.sayName = function(){
        alert(this.name);
    }
}

  var a = new classA("red");
  var b = new classB("blue","bbb");
  a.sayColor();
  b.sayColor();
  b.sayName();
</script>


关键字this引用的是构造函数当前创建的对象,而作为某个方法被使用的时候,this则是当前调用该方法的对象,那么当上面调用new classA时,其中的this作为新创建的classA的对象,而当在classB中使用的时候,是new classB所产生的对象,这样也就达到了对象冒充方式来使classB继承了A的color属性和sayColor方法
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics