亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

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下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號