'else'

2011-03-22 12 views
6

के बिना IF अन्य कथन कैसे लिखें, मैं अपनी स्क्रिप्ट में else का उपयोग नहीं कर सकता; मैं else का उपयोग किए बिना if else कथन कैसे कार्यान्वित कर सकता हूं?'else'

मैं एक div आकार बदलने के लिए कोशिश कर रहा हूँ:

function hideTable(){ 
    var table = document.getElementById('PDemo'); 
    if(table.style.width == "50%") table.style.width = "150px"; 
    if(table.style.width == "150px") table.style.width = "50%"; 
} 

यह स्क्रिप्ट काम नहीं करता है, क्योंकि जैसे ही पहला if बयान निष्पादित किया जाता है, दूसरा if बयान के लिए हालत सच हो जाता है, तो यह है कि कार्यान्वित भी, इस प्रकार कुछ भी नहीं बदलता है।

पीएस यह एक होमवर्क नहीं है। मैं जिस सॉफ्टवेयर का उपयोग कर रहा हूं वह केवल 1-पंक्ति विवरणों की अनुमति देता है।

+26

तुरंत नया सॉफ्टवेयर प्राप्त करें। – alex

+1

क्या @alex कहते हैं। :) इसके अलावा, 'else अगर' –

+2

काम करना चाहिए आप क्या बिल्ली सॉफ्टवेयर का उपयोग कर रहे हैं ?? –

उत्तर

8

यदि आप else (और पागल) का उपयोग नहीं कर सकते हैं, तो switch का उपयोग करें।

switch (table.style.width) { 

    case '50%': 
     ... 
     break; 

    case '150px': 
     ... 
     break; 

} 
+2

एक डाउनवोट? वास्तव में? – alex

+0

मुझे नहीं पता, ऐसा लगता है कि यह एक पंक्ति पर फिट होगा। :-) –

+0

@ डेव ट्रू, लेकिन इसे स्वीकार कर लिया गया था :) इसके अलावा, ओपी दिया गया कोड उदाहरण एक पंक्ति पर फिट नहीं है। – alex

21

त्रिगुट ऑपरेटर:

if (condition) { 
    execTrue(); 
} 
else { 
    execFalse(); 
} 

आप कर सकते हैं लिखने एक अगर/किसी और 1 लाइन में, बस एंटर दबाएं नहीं है ...

:

condition ? execTrue() : execFalse(); 

इस के बराबर है

if (condition) { execTrue(); } else { execFalse(); } 

आगे, आप एक पंक्ति पर मनमानी जटिलता का कोई भी विवरण लिख सकते हैं:

if(condition1) { exec1(); } else if(condition2) { exec2(); } else { execFalse() } 

संपादित करें: मैं पूछने के लिए है: भयानक सॉफ्टवेयर के WTF तरह ही आप एक पंक्ति का बयान लिखने के लिए अनुमति देता है? क्या यह यातना का कुछ रूप है? यह सिर्फ पूरी तरह से दुखी

संपादित लगता है 2: आप प्रत्येक अनुवर्ती सशर्त

पर सिर्फ if के बजाय मुद्दा जहां दूसरी अगर बयान के रूप में अच्छी तरह से कार्यान्वित करता है, आप पारस्परिक अपवर्जन, यानी लागू करने के लिए चाहते हो रही है, else if का उपयोग कर

-tjw

+0

हाहा। यह एक रिपोर्टिंग सॉफ्टवेयर है। यह ग्रहण या कुछ भी के लिए एक वैकल्पिक नहीं है। यह उन एल्स की तरह प्रतीत नहीं होता है। धन्यवाद – code511788465541441

+0

हम्म, तो आप इन आदेशों को एक लाइन कंसोल या कुछ की तरह टाइप कर रहे हैं? समझा। खैर अगर यह "पसंद" नहीं करता है, तो टर्नरी ऑपरेटर आपका समाधान है। –

7
if(/*condition a*/){/*statements a*/}else if(/*condition b*/){/*statements b*/}else{/*statements c/*} 

एक पंक्ति केवल।

10

मूल्य को एक अलग चर में सहेजें।

function hideTable(){ 
    var table = document.getElementById('PDemo'); 
    var width = table.style.width; 
    if(width == "50%") table.style.width = "150px"; 
    if(width == "150px") table.style.width = "50%"; 
} 
0

विशिष्टता के लिए थोड़ी देर के लूप के साथ।

while (!resized){ 
    if(width == "50%") {table.style.width = "150px";resized=true;break}; 
    if(width == "150px") table.style.width = "50%";resized=true;break}; 
    resized=true; 
} 

आप किस सॉफ्टवेयर का उपयोग कर रहे हैं?

+1

मैं 'do {// सामग्री} को पसंद करता हूं जबकि (0);' idiom बेहतर। – Lalaland

0

& & ऑपरेटर को शॉर्ट-सर्किट ऑपरेटर कहा जाता है। यह पहले ऑपरेंड के मूल्य के आधार पर दूसरे ऑपरेंड के मूल्य को वापस कर देगा।

उदाहरण के लिए: (विवरण: यदि 'प्रोफ़ाइल की अनुमति उपयोगकर्ता का भार प्रोफ़ाइल तो permArray में मौजूद)

isPermitted(permArray,'profile') && loadProfile(); 

& & ऑपरेटर उनकी विशेषताओं एक्सेस करने से पहले अशक्त वस्तुओं के लिए जाँच के लिए भी उपयोगी है। उदाहरण के लिए ...

var name = person && person.getName(); 
संबंधित मुद्दे