看代码和注释: 登录后复制 class MyClass{ constructor(){ this.name="NAME"; } callback(){ console.log(this.name); } do(){ //可以正常输出NAME this.callback(); //也可以正常输出NAME let doback = this.callback.bind(this); doback(); //报错,在函数赋值后this上下文关系丢失 doback = this.callback; doback(); } } let obj = new MyClass(); obj.do(); 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23. 由此可知,如果将类的方法赋值给一个变量,或者作为参数传给使用方,这方法内的this将失去上下文环境。