Javascript 我可以在代码中使用shortand if-else语句吗
我有一个关于shortand if else语句的问题。我只想学习如何缩短我的js if else语句。有人可以使用我的代码在示例中帮助我吗 如果单击按钮rel=“Like”或其他文本,我将检查代码,然后使用if-else语句执行操作Javascript 我可以在代码中使用shortand if-else语句吗,javascript,jquery,Javascript,Jquery,我有一个关于shortand if else语句的问题。我只想学习如何缩短我的js if else语句。有人可以使用我的代码在示例中帮助我吗 如果单击按钮rel=“Like”或其他文本,我将检查代码,然后使用if-else语句执行操作 if (REL === 'Like') { if (!$('#pli' + dataid).length) { $('#ttl' + dataid).prepend('<div class="pli" id="pli' + dataid +
if (REL === 'Like') {
if (!$('#pli' + dataid).length) {
$('#ttl' + dataid).prepend('<div class="pli" id="pli' + dataid + '"></div>');
}
} else if (REL === 'Love') {
if (!$('#plo' + dataid).length) {
$('#ttl' + dataid).prepend('<div class="plo" id="plo' + dataid + '"></div>');
}
}else if (REL === 'Unbelievable') {
if (!$('#phi' + dataid).length) {
$('#ttl' + dataid).prepend('<div class="phi" id="phi' + dataid + '"></div>');
}
}else if (REL === 'Spectacular') {
if (!$('#pha' + dataid).length) {
$('#ttl' + dataid).prepend('<div class="pha" id="pha' + dataid + '"></div>');
}
}else if (REL === 'Emotional') {
if (!$('#pwo' + dataid).length) {
$('#ttl' + dataid).prepend('<div class="pwo" id="pwo' + dataid + '"></div>');
}
}
if (REL === 'NotLike') {
setTimeout(function() {
if ($("#sum" + dataid).text() == 0) {
$("#pli" + dataid).remove();
}
}, 200);
}else if (REL === 'NotLove') {
setTimeout(function() {
if ($("#sum" + dataid).text() == 0) {
$("#plo" + dataid).remove();
}
}, 200);
}else if (REL === 'NotUnbelievable') {
setTimeout(function() {
if ($("#sum" + dataid).text() == 0) {
$("#phi" + dataid).remove();
}
}, 200);
}else if (REL === 'NotSpectacular') {
setTimeout(function() {
if ($("#sum" + dataid).text() == 0) {
$("#pha" + dataid).remove();
}
}, 200);
}else if (REL === 'NotEmotional') {
setTimeout(function() {
if ($("#sum" + dataid).text() == 0) {
$("#pwo" + dataid).remove();
}
}, 200);
}
if(REL=='Like'){
如果(!$('#pli'+dataid).length){
$('#ttl'+dataid).prepend('');
}
}否则如果(REL===‘爱’){
if(!$('#plo'+dataid).length){
$('#ttl'+dataid).prepend('');
}
}否则如果(REL===‘难以置信’){
if(!$('#phi'+dataid).length){
$('#ttl'+dataid).prepend('');
}
}否则如果(REL==‘壮观’){
如果(!$('#pha'+dataid).length){
$('#ttl'+dataid).prepend('');
}
}否则如果(REL==‘情绪化’){
if(!$('#pwo'+dataid).length){
$('#ttl'+dataid).prepend('');
}
}
如果(REL==='NotLike'){
setTimeout(函数(){
if($(“#sum”+dataid).text()=0){
$(“#pli”+dataid).remove();
}
}, 200);
}否则如果(REL==='NotLove'){
setTimeout(函数(){
if($(“#sum”+dataid).text()=0){
$(“#plo”+dataid).remove();
}
}, 200);
}否则如果(REL==‘不难以置信’){
setTimeout(函数(){
if($(“#sum”+dataid).text()=0){
$(“#phi”+dataid).remove();
}
}, 200);
}否则如果(REL==='notspecific'){
setTimeout(函数(){
if($(“#sum”+dataid).text()=0){
$(“#pha”+dataid).remove();
}
}, 200);
}else if(REL=='NotEmotional'){
setTimeout(函数(){
if($(“#sum”+dataid).text()=0){
$(“#pwo”+dataid).remove();
}
}, 200);
}
使用以下词典如何:
var dict = {'Like': 'pli','Love': 'plo','Unbelievable':'phi','Emotional':'pwo'};
if (dict[REL]) {
if (!$('#'+dict[REL] + dataid).length) {
$('#ttl' + dataid).prepend('<div class="' + dict[REL] + '" id="'+ dict[REL] + dataid + '"></div>');
}
}
var dict={'Like':'pli','Love':'plo','investible':'phi','Emotional':'pwo'};
if(dict[REL]){
if(!$('#'+dict[REL]+dataid).length){
$('#ttl'+dataid).prepend('');
}
}
它可以帮助您减小两个ifs的大小我认为
对象
比开关
或if/else
更具可读性
var map = {
Like: 'pli',
Love: 'plo',
Unbelievable: 'phi',
Spectacular: 'pha',
Emotional: 'pwo'
};
var className = map[REL];
if (className) {
if (!$('#' + className + dataid).length) {
$('#ttl' + dataid).prepend('<div class="' + className + '" ' +
'id="' + className + dataid + '"></div>');
}
}
var映射={
比如‘pli’,
爱:“巴解组织”,
难以置信:“phi”,
壮观的‘pha’,
情绪化:“pwo”
};
var className=map[REL];
if(类名){
if(!$('#'+className+dataid).length){
$('#ttl'+dataid).prepend('');
}
}
正如其他人所说,您需要一个switch case语句:
switch (REL){
case 'Like':
if (!$('#pli' + dataid).length) {
$('#ttl' + dataid).prepend('<div class="pli" id="pli' + dataid + '"></div>');
break;
case 'Love':
if (!$('#plo' + dataid).length) {
$('#ttl' + dataid).prepend('<div class="plo" id="plo' + dataid + '"></div>');
break;
case 'Unbelievable':
if (!$('#phi' + dataid).length) {
$('#ttl' + dataid).prepend('<div class="phi" id="phi' + dataid + '"></div>');
break;
case 'Spectacular':
if (!$('#pha' + dataid).length) {
$('#ttl' + dataid).prepend('<div class="pha" id="pha' + dataid + '"></div>');
break;
case 'Emotional':
if (!$('#pwo' + dataid).length) {
$('#ttl' + dataid).prepend('<div class="pwo" id="pwo' + dataid + '"></div>');
break;
case 'NotLike':
setTimeout(function() {
if ($("#sum" + dataid).text() == 0) {
$("#pli" + dataid).remove();
}
}, 200);
break;
case 'NotLove':
setTimeout(function() {
if ($("#sum" + dataid).text() == 0) {
$("#plo" + dataid).remove();
}
}, 200);
break;
case 'NotUnbelievable':
setTimeout(function() {
if ($("#sum" + dataid).text() == 0) {
$("#phi" + dataid).remove();
}
}, 200);
break;
case 'NotSpectacular':
setTimeout(function() {
if ($("#sum" + dataid).text() == 0) {
$("#pha" + dataid).remove();
}
}, 200);
break;
case 'NotEmotional':
setTimeout(function() {
if ($("#sum" + dataid).text() == 0) {
$("#pwo" + dataid).remove();
}
}, 200);
break;
default:
//do something or nothing
}
开关(REL){
案例“Like”:
如果(!$('#pli'+dataid).length){
$('#ttl'+dataid).prepend('');
打破
案例“爱”:
if(!$('#plo'+dataid).length){
$('#ttl'+dataid).prepend('');
打破
案例“难以置信”:
if(!$('#phi'+dataid).length){
$('#ttl'+dataid).prepend('');
打破
“壮观”案例:
如果(!$('#pha'+dataid).length){
$('#ttl'+dataid).prepend('');
打破
“情绪化”案例:
if(!$('#pwo'+dataid).length){
$('#ttl'+dataid).prepend('');
打破
案例“不喜欢”:
setTimeout(函数(){
if($(“#sum”+dataid).text()=0){
$(“#pli”+dataid).remove();
}
}, 200);
打破
案例“不爱”:
setTimeout(函数(){
if($(“#sum”+dataid).text()=0){
$(“#plo”+dataid).remove();
}
}, 200);
打破
案例“不难以置信”:
setTimeout(函数(){
if($(“#sum”+dataid).text()=0){
$(“#phi”+dataid).remove();
}
}, 200);
打破
案例“不壮观”:
setTimeout(函数(){
if($(“#sum”+dataid).text()=0){
$(“#pha”+dataid).remove();
}
}, 200);
打破
案例“NotEmotional”:
setTimeout(函数(){
if($(“#sum”+dataid).text()=0){
$(“#pwo”+dataid).remove();
}
}, 200);
打破
违约:
//要么做什么,要么什么都不做
}
切换肯定有助于使代码更干净、更可读。此外,我建议制作一张地图,许多代码是重复的
下面是一个例子
if ( [ 'Like', 'Love', 'Unbelievable', 'Spectacular', 'Emotional' ].indexOf( REL ) !== -1 ) {
var map = { 'Like': 'pli', 'Love': 'plo', 'Unbelievable': 'phi' };
if ( !$( '#' + map[ REL ] + dataid ).length ) {
$( '#ttl' + dataid).prepend( '<div class="' + map[ REL ] + '" id="' + map[ REL ] + dataid + '"></div>' );
}
}
if ( [ 'NotLike', 'NotLove', 'NotUnbelievable', 'NotSpectacular', 'NotEmotional' ].indexOf( REL ) !== -1 ) {
var map = { 'NotLike': 'pli', 'NotLove': 'plo', 'NotUnbelievable': 'phi' };
setTimeout( function () {
if ( $('#sum' + dataid).text() == 0 ) {
$( '#' + map[ REL ] + dataid ).remove();
}
}, 200 );
}
if([‘喜欢’、‘爱’、‘难以置信’、‘壮观’、‘情感’)。indexOf(REL)!=-1){
var-map={'Like':'pli','Love':'plo','investible':'phi'};
if(!$('#'+map[REL]+dataid).length){
$('#ttl'+dataid).prepend('');
}
}
如果([‘不喜欢’、‘不爱’、‘不难以置信’、‘不壮观’、‘不动情’)。indexOf(REL)!=-1){
var-map={'NotLike':'pli','NotLove':'plo','not难以置信':'phi'};
setTimeout(函数(){
if($('#sum'+dataid).text()==0){
$('#'+map[REL]+dataid.remove();
}
}, 200 );
}
您可以使用基于rel
值的开关
语句。这比大小写更好。谢谢