case语句中的Javascript箭头函数
我想知道如何在case语句中实现arrow函数。 请问,如果我做了类似的事情,如何将示例15转化为“结果”case语句中的Javascript箭头函数,javascript,switch-statement,arrow-functions,Javascript,Switch Statement,Arrow Functions,我想知道如何在case语句中实现arrow函数。 请问,如果我做了类似的事情,如何将示例15转化为“结果” var result = num.calculate('+'); var num={ x:12, y:3, 计算:功能(操作){ var-fn; 开关(操作){ 格“+”: fn=函数(){ 返回这个.x+这个.y }; 打破 案例'-': fn=函数(){ 返回这个.x-this.y }; 打破 违约: fn=函数(){}; } 返回fn(); } }调用上下文中存在x和y属性,nu
var result = num.calculate('+');
var num={
x:12,
y:3,
计算:功能(操作){
var-fn;
开关(操作){
格“+”:
fn=函数(){
返回这个.x+这个.y
};
打破
案例'-':
fn=函数(){
返回这个.x-this.y
};
打破
违约:
fn=函数(){};
}
返回fn();
}
}
调用上下文中存在x
和y
属性,num
对象-引用num.x
,或者调用函数时,使用fn.call(num)
,以便函数中的this
引用num
对象:
var num={
x:12,
y:3,
计算:功能(操作){
var-fn;
开关(操作){
格“+”:
fn=函数(){
返回这个.x+这个.y
};
打破
案例'-':
fn=函数(){
返回这个.x-this.y
};
打破
违约:
fn=函数(){};
}
返回fn.call(num);
}
}
risult=num.calculate('+');
控制台日志(risult)
function(){返回this.x+this.y}
变成()=>{返回this.x+this.y}
或()=>this.x+this.y
我给你做了一个代码片段。请用输入和预期输出做一个比较。我不相信复制品是准确的。似乎不是说calculate
是一个箭头函数,而是calculate
里面有箭头函数。问题是他无法访问这些函数中的x
和y
。这个骗局掩盖了这一切。太好了!问题在3分钟内解决!!!:)非常感谢你