为什么.bind()重写不起作用?

时间:2016-11-24 18:33:28

标签: javascript bind

请查看以下代码:

function func() {
    console.log(this.name);
}
console.log(
    func.bind({name: 99}) // first bind
        .bind({name: 1})  // second bind
        ()                // execution
);

结果:

99
undefined
  1. 为什么undefined会显示? (我期待一个结果)
  2. 为什么.bind()没有重写上下文?
  3. 此代码是否相同?

    function ff() {
        return function () {
            return function () {            
                return func.apply({name: 99});
            }.apply({name: 2})
        }
    }
    console.log(ff()());
    

0 个答案:

没有答案