2016-09-21 25 views
1

假設我有Concat的字符串動態值的變量data如何,如果該值存在

var data = 6; 

如果我們有data價值,它是大於5,那麼輸出應該是:

"Hello x, 6 is your promo code" 

如果我們沒有data值,或者值小於5,則輸出應爲:

"Hello x" 

我怎麼能做到這一點的JavaScript單行?

+0

如果(數據> = 6)返回「你好X,6你的促銷代碼「;否則返回「你好X」 – Webster

+2

的可能的複製[如果Java腳本其他速記(http://stackoverflow.com/questions/11069278/javascript-if-else-shorthand) –

+1

我覺得具有諷刺意味的,這是不可能的,你解決不了因爲你的名聲這個簡單的問題是不夠高.. –

回答

2

試試這個:

var numb = 12; 
 
var msg = "Hello x" + (numb > 5 ? (', ' + numb + ' is your promo code') : ''); 
 
console.log(msg);

2

你可以使用一個conditional (ternary) operator

condition ? expr1 : expr2 

條件(三元)運算符是唯一的JavaScript操作員三個操作數。這個操作符經常用作if語句的快捷方式。

var data = 6, 
 
    promo = data > 5 ? "Hello x, 6 is your promo code" : 'Hello x'; 
 

 
console.log(promo);

1

試試這個:

(data>5) ? "Hello x," +6+" is your promo code" : "Hello x 
1

var x=3; 
 
    alert('Hello' + ((typeof(x) =='undefined' || x<5) ? ' x, ' : ', ' +x + ' is your promo code'));

+0

會有什麼代碼: 你好,你的促銷代碼是32 ????? –

+0

var x = 32; 警報(? '你好' +((typeof運算(X)== '未定義' || X <5) '×,': '促銷代碼是' + X)); 它還確保變量x聲明......如果沒有聲明,結果將是「你好X」 – salih0vicX

3
document.write(data > 5? "Hello x, 6 is your promo code" : "Hello x"); 
1

我會說,這是一個簡單的三元運算符

var data = 6, 
 
    minVal = 5; 
 

 
var promo = data > minVal ? "Hello x, " + data + " is your promo code" : 'Hello x'; 
 

 
console.log(promo);

相關問題