[英]Pass Javascript Question Mark operator multiple statements?
我有一個要檢查的變量是否為空。 我想知道如果檢查是對還是錯,是否可以傳遞多個語句,例如:
var checkme = '';
if(checkme == ''){
checkme = 'something new';
do_this();
}else{
checkme = '';
something_else();
}
但是使用?
運算符。 就像是:
checkme == '' ? (checkme = 'something new') (do_this()) :
(checkme = '') (something_else());
我希望你明白我的意思。 我實際上有類似的東西可以工作,但是瀏覽器的控制台不喜歡它。 有沒有辦法正確執行此操作,或者我需要寫出if...else
語句?
checkme == '' ? ((checkme = 'something new') && (do_this())) :
((checkme = '') && (something_else()));
正如塔沙爾所說
如果函數調用的位置不重要,則它的作用甚至更短。
checkme = checkme ? (something_else(), '') : (do_this(), 'something new');
如果您確實需要玩得開心,可以這樣做:
window[checkme == '' ? (checkme = 'something new') && 'do_this' : (checkme = '') && 'something_else']()
這將通過字符串查找函數並執行它,並分配新值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.