面试题是这样的:
var s = { s: 'student', getS:function(){ console.log(this.s); } };var t = { s: 'teacher chen'}var getS = s.getS;var getS1 = getS.bind(s);
正确的运行结果是:
getS1(); // studentgetS1.call(t); //student
getS1() 是通过bind将getS的this指向了s,输出student没错。但是,getS1.call(t),不是通过call方法,将this指向了t吗?为嘛输出的仍然是student而不是teacher chen 呢?
相关分类