为了账号安全,请及时绑定邮箱和手机立即绑定

javascript和java中this的区别

首先先写个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 回答

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

0 回复 有任何疑惑可以回复我~
var o = new test();
document.write(x);
ThisDemo o=new ThisDemo();
System.out.println(o.x);

x <==> o.x ?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

javascript和java中this的区别

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信