undefined 即未定义
js 中 没有声明 或者 声明后未赋值的变量 用typeof判断后类型都是 undefined
但是直接console.log( ) 输出的话 没有声明的变量会报错;而声明后未赋值的变量则是undefined
再说一下NaN : NaN 的意思是 not a number(不是一个数字),用了undefined类型的变量参与了计算,计算后的值就是NaN类型
值得注意的是:
1. 无法计算结果时用NaN;
2. NaN与所有的值都不相等,包括他自己;
3. NaN 用 typeof(NaN) 后,类型是number ;
补充:
null:表示空值;变量的值为空;
用 typeof(NaN) 后,类型是object ;
============
一、JS中if判断 非空即为真 非0即为真
1、字符串参与判断时:非空即为真
判断字符串为空的方法
if(str!=null && str!=undefined && str !='')
可简写为
if(!str){
console.log(str)
}
2、数字参与if判断:非0非NAN即为真
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、null类型参与判断
var i =null;
if (i){
alert("1")
}else{
alert("2")
}输出结果为2
4、undefined类型参与判断
var i;
if (i){
alert("1")
}else{
alert("2")
}输出结果为2
总结:数字参与判断时非0即为真,字符串参与判断时非空即为真,对象参与判断时非null非undefined即为真({}也为真)
5、在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');
}
======
在线提示js:https://www.bejson.com/runcode/javascript/
分享到:
相关推荐
JavaScript 中的 undefined、null、NaN 的区别 在 JavaScript 中,undefined、null、NaN 是三个经常被混淆的概念,但它们有着不同的含义和用途。今天,我们将深入探讨这三个概念的区别和应用。 undefined 在 ...
在JavaScript编程中,正确地判断null、undefined和NaN是很重要的,因为这三种值在逻辑上和运算时都有一些特殊行为。本文将详细介绍如何在JS中检测这三种特殊值。 首先,null和undefined都是表示“无”的值。null是...
在JavaScript中,`undefined`、`null`和`NaN`是三个重要的特殊值,它们各自具有独特的含义和用途。理解这些概念对于编写健壮的JavaScript代码至关重要。 **一、Undefined 类型** `undefined`类型只有一个值,即`...
在JavaScript编程语言中,判断一个变量是否为`NaN`(Not-a-Number)有时可能会成为棘手的问题。`NaN`是一个特殊的数值,它表示非数字值。JavaScript提供了`isNaN()`函数来帮助开发者检测一个值是否为非数字,但这个...
在JavaScript中,判断两个数组是否相等是一个常见的需求,尤其在处理数据比较或者验证时。根据标题和描述,我们可以区分两种不同的场景: 1. **数组完全相等**:在这种情况下,不仅要求数组中的元素相同,而且元素...
JavaScript中的`undefined`、`null`和`NaN`都是特殊的数据类型,它们在编程中扮演着重要的角色。本文将深入探讨这些概念的区别及其在实际应用中的处理方式。 首先,JavaScript有七种原始数据类型,包括`undefined`...
在检查变量是否可用时,通常推荐使用`typeof`操作符结合条件判断来确保变量已经被声明且非`undefined`,或者同时检查是否为`null`。例如: ```javascript let z; if (typeof z !== 'undefined' && z !== null) { ...
### JS 判断undefined的方法 在JavaScript(简称JS)中,`undefined`是一个基本的数据类型,通常用于表示变量未被赋值或对象属性不存在的情况。准确地判断一个变量是否为`undefined`是编程过程中经常会遇到的需求,...
- `undefined` 是 JavaScript 的一个属性,它存储了 `undefined` 值。但是,这个属性不能被枚举,也不能用 `delete` 运算符删除。 - 当尝试访问一个不存在的对象属性时,JavaScript 返回 `undefined`。 - 使用 `=...
`undefined` 在类型转换时,会转换成布尔值 `false`,数值 `NaN`,以及字符串 `'undefined'`。 与 `undefined` 相比,`null` 是一个表示“空值”的关键字,它被设计为一个空对象指针,尽管在 JavaScript 中它的类型...
在逻辑判断中,无论是 `null` 还是 `undefined`,在 `if` 语句中都会被视为 falsy 值,这意味着它们在条件表达式中都会导致条件为假: ```javascript var variable; if (!variable) { console.log('Variable is ...
在JavaScript编程中,判断参数是否为`undefined`或者值为空是一项常见的任务,特别是在前端开发中,需要确保提交到服务器的数据是完整且有效的。这个过程涉及到对多种数据类型的检查,包括字符串、数组、对象等。...
在JavaScript中,有几种特殊的值,它们是`undefined`、`null`、空字符串`""`、数字`0`和布尔值`false`。尽管它们在某些情境下被视为“假值”,但它们各自有着不同的含义和用途。在逻辑判断中,这些值在`if`语句的...
例如,你可以在`isEmptyObj`中添加对数组的检查,或者在`processArray`和`proccessObject`中增加对`NaN`和空字符串的判断。 总之,JavaScript中的数据清理是一项重要的任务,尤其是在处理复杂的数据结构时。通过...
根据给定的信息,本文将对JavaScript(简称JS)中的数据类型、类型转换、特殊值处理以及函数作用域等几个方面进行详细的分析。 ### 数据类型与类型判断 在JavaScript中,`typeof` 操作符用于获取变量的数据类型。...
解释:在 JavaScript 中,undefined 和 NaN 进行加法运算时,结果将是 NaN。 3. var a=10; b=20; c=4; ++b+c+a++ 以下哪个结果是正确的? 正确答案:B、35 解释:根据 JavaScript 的运算符优先级和结合方向,++b ...
所以在文章中写了一个函数,用以判断JS变量是否空值,如果是undefined, null, ”, NaN,false,0,[],{} ,空白字符串,都返回true,否则返回false 代码如下: function isEmpty(v) { switch (typeof v) { ...