javascript和java中this的区别

来源:9-22 编程练习

passionfoure

2015-03-06 22:57

首先先写个JS代码:

    var x = 2;
  function test(){
    this.x = 1;
        document.write(this.x);
  }
  var o = new test();
  document.write(x); 

输出:1 2

我理解的是:this和o是两个不同的对象,o是通过new新的对象,有新的内存。不知道对不对?

后来又写了一个java代码:

public class ThisDemo {  

   int x=2;

    public ThisDemo(){

    this.x=1;

    System.out.println(this.x);

    }

    public static void main(String[] args) {

    ThisDemo tt=new ThisDemo(); 

        System.out.println(tt.x); 

    }

}

输出:1 1

按照上面的理解,应该输出 1 2才对。

难道是java和JS中this用法不一样,恳请高手赐教

写回答 关注

2回答

  • passionfoure
    2015-03-07 13:46:03

    JS代码,默认存在window对象,document.write(x);其实是window在调用,和O是两个对象。理解了 

  • lymo
    2015-03-07 10:32:13
    var o = new test();
    document.write(x);
    ThisDemo o=new ThisDemo();
    System.out.println(o.x);

    x <==> o.x ?

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题