一、 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(); ```