我有以下内容:
.ypp
我想补充一下:
let buttonClass = '';
buttonClass += link ? ' button-link ' : '';
以上是错误的...如何将let buttonClass = '';
buttonClass += link ? ' button-link ' : '';
buttonClass +=
(return switch(textAlign) {
case "right":
"ta-r"
break;
case "left":
"ta-l"
break;
default:
"ta-c"
})
与switch语句一起使用,如上所示?
答案 0 :(得分:2)
答案 1 :(得分:1)
我使用了一个对象:
textAlign
实例化一个抛弃对象(当然可以用更永久的对象替换)并查找当前的[ ]
值。如果未找到任何条目,undefined
表达式将返回||
,因此// js
addon.makeObject((err, obj) => {
if (err) { /* handle error */ }
console.log('New object ID=%d', obj.getID());
:
});
会提供默认值。
答案 2 :(得分:0)
switch
本身不会返回可以插入较大表达式的值。它分支成一组执行的代码。一个简单的方法是通过let buttonClass = '';
buttonClass += link ? ' button-link ' : '';
var result = null; // Answer will wind up here
switch(textAlign) {
case "right":
result = "ta-r";
break;
case "left":
result = "ta-l";
break;
default:
result = "ta-c";
}
// Whatever the switch set the result to, use it here:
textAlign += result;
:
switch
正如其他人也指出的那样,你当然可以用function
包裹switch
并让函数根据function wrapSwitch(tAlign){
switch(tAlign){
case "right":
return "ta-r";
case "left":
return "ta-l";
default:
return "ta-c";
}
}
textAlign += wrapSwitch(textAlign);
的结果返回一个值。
buttonClass += {
"right": "ta-r",
"left": "ta-l",
}[textAlign] || "ta-c";
答案 3 :(得分:0)
let buttonClass = '';
buttonClass += link ? ' button-link ' : '';
const switchFn = (textAlign) => {
switch(textAlign) {
case "right":
return "ta-r";
case "left":
return "ta-l";
default:
return "ta-c";
}
}
textAlign += switchFn(textAlign)