最近有个问题一直困扰我,今天终于解决了,直接说原理吧
var time = "" ;
time = 0 ;
if(time == "")
alert("true");
上述代码,会alert true么,实际上是会的。
查了书籍<悟透javascript>后,里面有详细解释:
undefined , null , "" , 0 这四个值转换为逻辑值时就是false,其他所有东西转换逻辑值都是true,
所以上述代码一步一步分析就是:
var time = "" ; //等同于false
time = 0 ; //等同于false
if(time == "") //false == false
alert("true");
再深入一点,
"123" == 123 //true
"0123" == 0123 //false 因为0123默认是八进制数
"123" === 123 //false ,值相同,但类型不同
这里===是全等的意思,数据值与数据类型都必须相等才为true!!
javascript弱类型定义很灵活,但一旦代码不严谨就会花上一两天的时间慢慢调试javascript。
我靠!
分享到:
相关推荐
在JavaScript编程语言中,`null`和`undefined`是两种非常重要的值,它们在很多情况下容易引起混淆。本文将深入探讨两者之间的区别和比较。 首先,`undefined`是一种特殊的值,它代表变量已经被声明但没有赋值。在...
在JavaScript(JS)编程中,`undefined` 和 `null` 是两种不同的特殊值,它们各自表示不同的含义。理解和正确地判断这两个值对于编写健壮的JavaScript代码至关重要。在这篇文章中,我们将深入探讨如何在JavaScript中...
在JavaScript编程语言中,Null和Undefined是两种不同的原始值,它们在特定场景下有特定的含义,有时也会引起初学者的困惑。理解这两者之间的差异是编写健壮JavaScript代码的关键。 首先,Undefined类型是一个特殊的...
JavaScript 类型系统中的 `undefined` 和 `null` 是两种特殊的原始值,它们分别代表不同的概念。`undefined` 主要用于表示变量已经声明但未被赋值的情况,而 `null` 则是一个特意设置的值,通常用来表示一个“空”的...
JavaScript 类型系统中的 `undefined` 和 `null` 是两种特殊的原始值,它们分别代表不同的概念。在 JavaScript 中,每个变量都有一个类型,当变量未初始化或引用的对象不存在时,就会出现 `undefined` 或 `null`。 ...
在JavaScript中,`false`、`0`、`null`、`undefined`和空字符串`""`是五个特殊的值,它们在编程中扮演着不同的角色。理解它们的类型、等价性和在条件语句中的行为是至关重要的。 首先,让我们看看它们的类型: - `...
在JavaScript编程语言中,`undefined` 和 `null` 是两种不同的原始类型,它们虽然在某些情况下表现出相似的行为,但有着本质的区别。理解这两者的差异对于编写健壮的JavaScript代码至关重要。 首先,`undefined` 和...
在逻辑判断中,无论是 `null` 还是 `undefined`,在 `if` 语句中都会被视为 falsy 值,这意味着它们在条件表达式中都会导致条件为假: ```javascript var variable; if (!variable) { console.log('Variable is ...
在JavaScript编程语言中,`undefined` 和 `null` 是两种特殊的值,它们在某些方面具有相似性,但也存在明显的差异。这两个概念对于理解和编写健壮的JavaScript代码至关重要,特别是对于那些处理变量状态和数据类型的...
最后,null === 0中的全等比较不会进行任何类型转换,所以即便它们在某种情况下具有相同的值,它们的类型仍然是不同的(一个是null,另一个是0),因此结果是false。 简单总结来说,JavaScript中的null是一个基本...
在JavaScript中,`undefined`是一个特殊的值,它代表了一个变量被声明但未被赋值的情况,或者是尝试访问一个对象上不存在的属性时的结果。深入理解`undefined`对于编写健壮的JavaScript代码至关重要。 首先,我们要...
在JavaScript中,基本类型值的使用和处理非常重要,了解Undefined、Null和Boolean这三种基本类型值,能够帮助开发者更好地编写逻辑判断和数据验证的代码,为编写高质量的JavaScript程序打下坚实的基础。
在JavaScript编程中,正确理解和获取`undefined`值是至关重要的,因为这直接影响到代码的健壮性和可维护性。在某些情况下,我们可能需要确保一个变量确实为`undefined`,而不是其他任何值,以进行有效的条件检查。...
在JavaScript编程语言中,null和undefined是两个非常基础且常用的特殊值。尽管它们看起来相似,但它们在JavaScript中有着本质上的区别和各自的应用场景。本文将详细探讨这两个特殊值的相同点和不同点,以及在实际...
本文将深入探讨JavaScript中常见的几个概念:`false`、零值(`0`)、`null`、`undefined`以及空字符串(`""`)。这些概念虽然简单,但在实际编程过程中经常导致困惑和错误。 #### 二、类型检测 首先,我们需要了解这些...
`NULL`在JavaScript中表示空值,没有特定的值或对象引用。 7. **JavaScript弹出框** - `alert()`: 显示消息框,只有一个“确定”按钮。 - `prompt()`: 显示带有输入框的消息框,用户可以输入数据。 - `confirm...
undefined <br />")}\</script></body>在JavaScript中,`undefined`和`null`是两个特殊的值,它们在很多情况下都用来表示空或者不存在的值,但两者有着本质的区别。 1. `undefined`:当试图访问一个未声明的...