js判断是否为空和typeof用法

(1)typeof用法

typeof的运算数未定义,返回的就是 "undefined".

运算数为数字 typeof(x) = "number"

字符串 typeof(x) = "string"

布尔值 typeof(x) = "boolean"

对象,数组和null typeof(x) = "object"

函数 typeof(x) = "function"


(2)js判断是否为空

var exp = null;
if (!exp && typeof(exp)!="undefined" && exp!=0 && exp!='')
{
    alert("is not null");
}
### 判断 JavaScript 变量是否的方法 在 JavaScript 中,检查变量是否可以通过多种方式实现。以下是几种常用方法: #### 使用 `typeof` 严格等于运算符 (`===`) 为了安全地检测未定义的变量而不引发错误,可以先使用 `typeof` 运算符来验证该变量是否存在并已声明[^1]。 ```javascript if (typeof foo !== "undefined" && foo !== null) { // 执行操作 } ``` 此代码片段不仅会检查变量是否被定义,还会进一步确认它不是 `null` 值。 #### 检查字符类型的值 对于字符类型的数据,除了上述基本条件外,还可以通过长度属性或者将其转换成布尔表达式来进行更细致的判断: ```javascript const str = ""; if (!str || str.length === 0){ console.log('The string is either null, undefined or an empty string'); } ``` 这里利用了 JavaScript 的隐式类型转换特性;当一个作为逻辑非的操作数时会被视为假(falsy),因此可以直接用于条件语句中[^2]。 #### 数组其他对象类型的处理 针对数组或其他复杂数据结构,则应考虑它们特有的性质来做相应的检验: ```javascript const arr = []; if(!arr || !Array.isArray(arr)){ console.error("Invalid array"); } else if (arr.length === 0){ console.info("Empty Array"); } // 对象实例 const obj = {}; if(Object.keys(obj).length === 0 && Object.getPrototypeOf(obj) === Object.prototype){ console.warn("Object is empty"); } ``` 这些例子展示了如何根据不同情况选择合适的方式来评估目标变量的状态。值得注意的是,在某些情况下可能还需要额外注意潜在的副作用以及性能影响等问题。 #### 函数封装简化调用 如果项目中有大量类似的校验需求,建议创建辅助函数以便重复利用这段逻辑: ```javascript function isEmpty(value) { return ( value == null || (typeof value === 'object' && Object.keys(value).length === 0) || (typeof value === 'string' && value.trim().length === 0) ); } console.log(isEmpty(null)); // true console.log(isEmpty(undefined));// true console.log(isEmpty([])); // false console.log(isEmpty({})); // true console.log(isEmpty("")); // true console.log(isEmpty(" ")); // true ``` 这种方法提高了代码可读性维护效率的同时也减少了冗余。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值