Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 上下文绑定语法_Javascript - Fatal编程技术网

Javascript 上下文绑定语法

Javascript 上下文绑定语法,javascript,Javascript,假设我们有 function () {}.bind(null); 及 为什么第一个在开发者控制台中不起作用(它抛出语法错误),但它们都在代码中工作(“网站中的.js”文件)。我认为这是因为您试图定义一个匿名函数。Console未来没有引用它的方式,所以这是一项毫无意义的工作,您正在定义一个无法调用的函数。如果将其定义为一个变量,它将起作用: var a = function () {}.bind(null); 我也不认为它与约束有关。在没有绑定的情况下定义匿名函数,会出现相同的错误 编辑

假设我们有

function () {}.bind(null);


为什么第一个在开发者控制台中不起作用(它抛出语法错误),但它们都在代码中工作(“网站中的.js”文件)。

我认为这是因为您试图定义一个匿名函数。Console未来没有引用它的方式,所以这是一项毫无意义的工作,您正在定义一个无法调用的函数。如果将其定义为一个变量,它将起作用:

 var a = function () {}.bind(null); 

我也不认为它与约束有关。在没有绑定的情况下定义匿名函数,会出现相同的错误

编辑

以关键字“function”开头的语句必须是有效的 函数声明语句。这需要函数的名称

在表达式(或表达式语句)中,该规则是不同的;不 name是必需的,因为函数在其中充当值 上下文那么就不需要名字了

  • 经由
函数声明不能是匿名的,而是函数表达式 可以独立匿名函数看起来像一个函数 JavaScript缺少标识符的声明。但是,加起来 通过使用操作符,JavaScript将匿名函数视为 运算符的操作数表达式

  • 经由

我认为这是因为您试图定义一个匿名函数。Console未来没有引用它的方式,所以这是一项毫无意义的工作,您正在定义一个无法调用的函数。如果您将它定义为一个变量,它将工作-
var a=function(){}.bind(null)而且我认为它与绑定无关。定义一个没有绑定的匿名函数,你也会犯同样的错误。@Craicerjack我想你可以把它写成一个答案。但为什么它会抛出SyntaxError呢?因为通常匿名函数必须像变量一样使用。如果编写匿名函数,则必须将其分配给变量或作为参数传递,除非立即调用它们(在这种情况下,它们称为IIFE,即立即调用的函数表达式)。您收到的错误是,解析器将其视为一个函数声明,其中您忘记将函数名放在此处解释添加parens的工作原理:如果您引用了其他帖子,请链接确切的帖子(答案,而不是本例中的问题),命名作者,并使用blockquote语法标记引用
 var a = function () {}.bind(null);