一、 console.log(a); 输出1 因为a是原始类型,传函数时copy值 console.log(obj); 输出{val: 2} obj是对线,传进去的是指针(指向obj的地址),所以函数内操作会影响obj的值 二、 改一下就可以看出来了 (一) ``` let a =5; class A{     a=10;     fn(){         console.log(this);     } }   const b = new A().fn; b(); ``` (二) ``` let a =5; class A{     a=10;     fn(){         console.log(this);     } }   const c = new A(); c.fn(); ```