簡體   English   中英

如何從javascript函數和值返回true?

[英]How do I return true from a javascript function along with a value?

大家好,我正在使用檢測圖像擴展的功能。

<body>
<input id="imgExtension" type="text" />
<input id="myFile" type="file" />
<script>
function checkExt(x){
var y = x.split('.').pop();
if (y != "jpg" && y != "png") {
    return false;
}

else {
    // i want to return *y*[image extension] from here
    return true;
}
}

$(function(){
$("#myFile").change(function(){
var x = $(this).val;
    if(checkExt(x)){
       // i want to put [image extension] here in #imgExtension
       $('#imgExtension').val();
    }

    else  {
       alert("Error, invalid image extension");
    }
}    
}
</script>
</body>

最近,我只是檢查圖像擴展名並返回truefalse,但我也想獲取該擴展名,因為我需要將其解析為我的PHP腳本。

您可以只返回擴展名,而不返回true或false,如果根本沒有擴展名,則可以返回null。

另一方面,您可以創建一個包含兩個值的js對象,但我會優先考慮。

返回多個值的最簡單方法是返回一個對象。

return { value: true, extension: '.jpg' };

然后,您可以訪問作為普通對象返回的值。

您不能返回兩件事(除非您使用數組)。 我建議您返回擴展名或null。 由於JavaScript中稱為falsfy的東西,如果將if(checkExt(x))調用為null,則將其評估為null;對於jpg或png,則將其評估為true。

您不需要返回2個值。 如果您只返回值,或者什么都不返回,則checkExt可以正常工作。 做這樣的事情的最干凈的方法是使用三元語句(使用谷歌語言,易於學習,可以節省您的生命)

function checkExt(x){
  var y = x.split('.').pop();
  return y != "jpg" && y != "png" ? false : y;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM