直接在函数声明中使用function.prototype.bind

为什么这是允许的?

var f = function() {
  console.log(this.x);
}.bind({x:1})();

为什么这不是或更好,为什么我在这种情况下得到语法错误?

function f() {
  console.log(this.x);
}.bind({x:1})();

那么,为什么我需要函数表达式语法来获得这个工作,并且有没有一种方法可以直接在函数声明中使用bind方法?


第二个例子有效,但语法稍微偏离了一点:

围绕着功能在parens。 我不得不说,我不完全确定为什么。 它似乎没有parens工作吧? :P

(function f() {
    console.log(this.x);
}).bind({x:1})();
链接地址: http://www.djcxy.com/p/25527.html

上一篇: Using function.prototype.bind directly on function declaration

下一篇: How to specify ElasticSearch copy