JS中if判断 非空即为真 非0即为真

1、字符串参与判断时:非空即为真判断字符串为空的方法if(str!=null && str!=undefined && str !=‘‘)可简写为if(!str){    console.log(str)}2、数字参与if判断:非0即为真
var i = 0;if(i){    alert(‘here‘);}else{    alert(‘test is ok!‘);}  输出结果为here
var i = 0;if(i){    alert(‘here‘);}else{    alert(‘test is ok!‘);} 输出结果为test is ok

3、在javascript中,哪些值能作为if的条件呢

1、布尔变量true/false
2、数字非0,非NaN/ (0 或NaN)

见下面的例子,莫以为负数就以为if语句为假了。

代码如下:

var i = -1;
if(i){
 alert(‘here‘);
}else{
 alert(‘test is ok!‘);
}输出结果为here

3、对象非null/(null或undefined) 
4、字符串非空串(“”)/空串("")

综上所述,对于字符串,不用写一大堆if(str!=null && str!=undefined && str !=‘‘), 只要用一句

if(!str){
    //do something
}

就可以了。

对于数字的非空判断,则要考虑使用isNaN()函数,NaN不和任何类型数据相等,包括它本身,只能用isNaN()判断。对于数字类型,if(a)语句中的a为0时if(a)为假,非0时if(a)为真:

var b;
var a = 0;
a = a + b;
if(a){
 alert(‘1‘);
}else{
 alert(‘2‘);
}
if(isNaN(a)){
 alert(‘a is NaN‘);
}

原文地址:https://www.cnblogs.com/liankong/p/10530251.html

时间: 2024-10-10 04:24:52

JS中if判断 非空即为真 非0即为真的相关文章

160304-02、JS 中如何判断null 和undefined

JavaScript 中有两个特殊数据类型:undefined 和 null,下节介绍了 null 的判断,下面谈谈 undefined 的判断. 以下是不正确的用法: var exp = undefined;if (exp == undefined){    alert("undefined");} exp 为 null 时,也会得到与 undefined 相同的结果,虽然 null 和 undefined 不一样.注意:要同时判断 undefined 和 null 时可使用本法.

JS 中如何判断 undefined 和 null

JS 中如何判断 undefined JavaScript 中有两个特殊数据类型:undefined 和 null,下节介绍了 null 的判断,下面谈谈 undefined 的判断. 以下是不正确的用法: var exp = undefined;if (exp == undefined){    alert("undefined");} exp 为 null 时,也会得到与 undefined 相同的结果,虽然 null 和 undefined 不一样.注意:要同时判断 undefi

SpringBoot参数非空校验的非最优实现历程

SpringBoot参数非空校验在网上已经有很多资料了,自己最近要实现这一个功能,大概看了下觉得没什么难度,不想在过程中还是遇到了一些问题,在此记录,希望有遇到和我一样问题的人和过路大神不吝指教. 需求是做一个全局请求参数非空校验和异常拦截,spring提供的@Validated和Hibernate提供的@Valid目前不支持请求参数为基本类型的非空判断,只能是请求参数封装为对象时,判断对象属性非空,所以要自己实现一个对基本类型的非空判断. 首先说下网上原创转载最多的一个思路:实现一个指向方法的

php或JS中输出判断项

不管在php,还是AJAX中,我们总会用到判断一个用户的权限等问题,根据权限的不同,我们需要对代码进行不同的判断. 不管是php还是AJAX这里边的操作理念是相同的,这里就做个简单的示范吧! 这里就是一个最简单的php判断 这是AJAX的判断,满足条件是有值的,不满足是空的,最后在加一个点击事件,就大功告成了. 难点:1.AJAX时,注意提前定义好一个空的数组. 2.php时,注意数组的名称不要重复. 3.这样代码会很冗杂,注意加好注释

JS中如何判断null

var exp = null; if (exp == null) { alert("is null"); } exp 为 undefined 时,也会得到与 null 相同的结果,虽然 null 和 undefined 不一样. 注意:要同时判断 null 和 undefined 时可使用本法. var exp = null; if (!exp) { alert("is null"); } 如果 exp 为 undefined,或数字零,或 false,也会得到与 

JS中如何判断null、undefined与NaN

1.判断undefined: Js代码   <span style="font-size: small;">var tmp = undefined; if (typeof(tmp) == "undefined"){ alert("undefined"); }</span> 说明:typeof 返回的是字符串,有六种可能:"number"."string"."boolean&

js中如何判断属性是对象实例中的属性还是原型中的属性

ECMAScript5中的hasOwnProperty()方法,用于判断只在属性存在与对象实例中的时候,返回true,in操作符只要通过对象能访问到属性就返回true. 因此只要in操作符返回true而hasOwnProperty()返回false,就可以确定属性是原型中的属性. 所以有如下函数: function hasPrototypeProperty(obj, name) { return !obj.hasOwnProperty(name) && (name in obj); } 当

js中如何判断汉字,以及如何计算汉字的字符长度

这是一段统计字符串(包含汉字)长度的方法: var str = '2二3三4四'; alert(getStrlen(str)) function getStrlen(str){ var json = {len:0}; var re = /[\u4e00-\u9fa5]/; 正则表达式,判断是否为汉字 for (var i = 0; i < str.length; i++) { if(re.test(str.charAt(i))){ json['len']++; } }; return json[

js中如何判断一个DOM对象是否存在?

<div id="div1"></div> if(!!document.getElementById("div1"))