Есть ли какие-либо проверки, если значение не равно нулю и не пустое в Javascript? Я использую следующий:
var data; //get its value from db
if(data != null && data != '') {
// do something
}
Но мне интересно, есть ли еще одно лучшее решение. Спасибо.
Если вы действительно хотите подтвердить, что переменная не является нулевой, а не пустой строкой, вы должны написать:
if(data !== null && data !== '') {
// do something
}
Обратите внимание, что я изменил ваш код, чтобы проверить равенство типов (!==
| ===
).
Однако, если вы просто хотите убедиться, что код будет работать только для «разумных» значений, вы можете, как уже говорили другие, написать:
if (data) {
// do something
}
Поскольку в javascript как нулевые значения, так и пустые строки равны false (т.е. null == false
).
Разница между этими двумя частями кода заключается в том, что для первой каждое значение, которое не является конкретно нулевым или пустой строкой, будет вводить if
. Но во втором случае каждое истинно-ишское значение будет входить в if
: false
, 0
, null
, undefined
и пустые строки, не будет.
И null
, и пустая строка являются ложными значениями в JS. Следовательно,
if (data) { ... }
вполне достаточно.
Примечание на стороне: я бы избегал иметь переменную в моем коде, которая могла бы проявляться в разных типах. Если данные в конечном итоге будут строкой, то я сначала определю свою переменную с пустой строкой, чтобы вы могли сделать это:
if (data !== '') { ... }
без нуля (или каких-либо странных вещей, таких как data = "0"
).
Вместо использования
if(data !== null && data !== '' && data!==undefined) {
// do something
}
Вы можете использовать ниже простой код
if(Boolean(value)){
// do something
}
И ноль, и пустое могут быть подтверждены следующим образом:
<script>
function getName(){
var myname = document.getElementById("Name").value;
if(myname != '' && myname != null){
alert("My name is "+myname);
}else{
alert("Please Enter Your Name");
}
}
< / script >
попробуй -----------
& Лт;!- начать фрагмент: js hide: ложная консоль: истинная павиана: false - >
function myFun(){
var inputVal=document.getElementById("inputId").value;
if(inputVal){
document.getElementById("result").innerHTML="<span style='color:green'>The value is "+inputVal+'</span>';
}
else{
document.getElementById("result").innerHTML="<span style='color:red'>Something error happen! the input May be empty.</span>";
}
}
<input type="text" id="inputId">
<input type="button" onclick="myFun()" value="View Result">
<h1 id="result"></h1>
& Лт;!- конец фрагмента - >
Я часто проверяю правдивое значение, а также пустые места в строке:
if(!(!data || data.trim().length === 0)) {
// do something here
}
Если у вас есть строка, состоящая из одного или нескольких пустых пробелов, она будет оцениваться как true.