有没有一种方法可以在JavaScript中命名箭头函数
Is there a way to name arrow functions in JavaScript?
我在应用程序中使用箭头函数,有时需要获得对函数本身的引用。对于普通的JavaScript函数,我可以直接命名它们并从内部使用名称。对于箭头函数,我目前使用的是arguments.callee
。有没有一种方法可以命名箭头函数,以便从内部使用引用?
示例代码
// TypeScript
private evaluateIf(expr: parserModule.IIfExpression, callback: IEnvCallback) {
this.evaluate(expr.condition, proceed => {
guard(arguments.callee, arguments, this);
if (proceed !== false) this.evaluate(expr.then, callback);
else if (expr.else) this.evaluate(expr.else, callback);
else callback(false);
});
}
// JavaScript
Environment.prototype.evaluateIf = function (expr, callback) {
var _this = this;
this.evaluate(expr.condition, function (proceed) {
guard(arguments.callee, arguments, _this);
if (proceed !== false)
_this.evaluate(expr.then, callback);
else if (expr.else)
_this.evaluate(expr.else, callback);
else
callback(false);
});
};
援助后我的决定是什么,因为争论可能不会永远存在:
private evaluateIf(expr: parserModule.IIfExpression, callback: IEnvCallback) {
var fn;
this.evaluate(expr.condition, fn = proceed => {
guard(fn, [proceed], this);
if (proceed !== false) this.evaluate(expr.then, callback);
else if (expr.else) this.evaluate(expr.else, callback);
else callback(false);
});
}
有没有一种方法可以命名箭头函数,以便从内部使用引用?
除非你把它分配给一个变量。例如:
var foo = () => {
console.log(foo);
}
对于箭头函数,我目前正在使用arguments.callee
箭头函数不支持arguments
。TypeScript当前错误地允许您使用它们。这将是TypeScript的下一个版本中的错误。这是为了保持TypeScript箭头函数与JavaScript语言规范兼容。
对于您的用例,我只使用function
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 正在全局范围中查找JavaScript函数
- 如何将输入(type=text)从html表单传递到javascript函数
- 如何调用这个匿名 JavaScript 函数
- 通过Ajax将JavaScript函数传递给PHP文件
- 在javascript函数中设置全局变量
- 如何在执行此特定onclick事件时执行JavaScript函数
- 使用javascript函数在页面初始化后加载jquery
- javascript函数同步
- 如何将一个JavaScript函数回调为多个函数
- 在javascript函数中使用php变量
- 代码背后调用一个JavaScript函数的按钮点击-C#
- 将JavaScript函数与HTML分离
- 组合两个javascript函数
- 在 Java 中的 JavaScript 函数中插入 Wicket 值
- javascript函数内部的代码用逗号而不是分号分隔
- href属性内的javascript函数
- 使用html表单中的参数调用JavaScript函数
- 分析Javascript函数中的多个对象
- javascript函数的:和=之间的区别