ich eine js Variable haben, die auf einer PHP-Seite durch php generiert wird:Javascript Short Circuit wird nicht den richtigen Wert zurück
<script type="text/javascript">
var shadeData = <?php echo $formattedShadeData; ?>;
</script>
Diese Variable wird nur auf einer Seite definiert werden, so möchte ich verhindern andere Seiten werfen beim Laden einen Fehler. In einem meiner Javascript-Dateien, möchte ich ausgeführt, wenn die Variable den Code stoppen ist noch nicht definiert worden, so dass ich versucht worden bin:
var shadeData = shadeData || null;
if(!shadeData){ return false; }
Jedoch ist dies nicht funktioniert und ich bin immer noch immer shadeData ist nicht definiert. Es gibt eine Reihe von Funktionen im Code unterhalb dieser Zeilen, die die Variable verwenden. Im Idealfall würde dies jedoch nicht ausgeführt, wenn die zweite Zeile false zurückgibt.
Setzen Sie 'shadeData' auf' null' oder 'false' in Ihrem PHP-Skript. JavaScript ist seltsam mit undefinierten Werten. – www139
Zuerst: Verwenden Sie nicht mehrere 'var' Deklarationen für die gleiche Variable. Zweitens: Wenn Sie eine Variableneingabe über PHP aufrufen, wickeln Sie einfach einen 'json_encode ($ formatedShadeData)' um die PHP-Variable. Dies verhindert Syntaxfehler, wenn '$ formatedShadeData' leer ist. – Tyr
@ ww139 danke, ich werde das versuchen, wenn nichts anderes funktioniert. Mein Instinkt ist es in JS – user3006927