`

javascript中为5种为假的情况测试

阅读更多
Javascript假的5种情况:
Falsy values in Javascript

Here's a complete list of falsy values in Javascript:

1> false (the boolean false is also considered falsy) 
2> "" (an empty string)
3> 0 (zero)
4> null
5> undefined
6> NaN (a property that represents the "Not-a-Number" value - 
indicating that a value is not a legal number)


为真的: 0 == 0  、"" == "" 、 null == null 、 undefined == undefined  (注:NaN != NaN,NaN不等于他自己 )
        0 == "" 、0 == false 、"" == false 、 undefined == null 。
其他情况都为假!


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>javascript_false_condition</title>
<style type="text/css"></style>
<script type="text/javascript">
/* 
假的5种情况:
Falsy values in Javascript

Here's a complete list of falsy values in Javascript:

1> false (the boolean false is also considered falsy) 
2> "" (an empty string)
3> 0 (zero)
4> null
5> undefined
6> NaN (a property that represents the "Not-a-Number" value - 
indicating that a value is not a legal number)
*/
console.log("------------0------------");
console.log("0 == 0  || "        + (0 == 0) );         // true
console.log("0 == false  || "    + (0 == false) );     // true
console.log("0 == \"\" || "      + (0 == "") );        // true
console.log("0 == null  || "     + (0 == null) );      // false
console.log("0 == undefined || " + (0 == undefined) ); // false
console.log("0 == NaN  || "      + (0 == NaN) );       // false

console.log("------------\"\"------------");
console.log("\"\" == \"\" || "      + ("" == "" ));        // true
console.log("\"\" == false || "     + ("" == false ));     // true
console.log("\"\" == 0 || "         + ("" == 0 ));         // true
console.log("\"\" == null || "      + ("" == null ));      // false
console.log("\"\" == undefined || " + ("" == undefined )); // false
console.log("\"\" == NaN || "       + ("" == NaN ));       // false

console.log("------------null------------");
console.log("null == null || "      + (null == null) );      // true
console.log("null == undefined || " + (null == undefined )); // true
console.log("null == false || "     + (null == false) );     // false
console.log("null == 0 || "         + (null == 0 ));         // false
console.log("null == \"\" || "      + (null == "") );        // false
console.log("null == NaN || "       + (null == NaN ));       // false

console.log("------------undefined------------");

console.log("undefined == undefined || " + (undefined == undefined) );// true
console.log("undefined == null || "      + (undefined == null) );     // true
console.log("undefined == false || "     + (undefined == false) );    // false
console.log("undefined == 0 || "         + (undefined == 0) );        // false
console.log("undefined == \"\" || "      + (undefined == "") );       // false
console.log("undefined == NaN || "       + (undefined == NaN) );      // false

console.log("------------NaN------------");
console.log("NaN == NaN || "       + (NaN == NaN) );      // false
console.log("NaN == false || "     + (NaN == false) );    // false
console.log("NaN == null || "      + (NaN == null) );     // false
console.log("NaN == 0 || "         + (NaN == 0) );        // false
console.log("NaN == \"\" || "      + (NaN == "") );       // false
console.log("NaN == undefined || " + (NaN == undefined) );// false

/*
为真的: 0 == 0  、"" == "" 、 null == null 、 undefined == undefined  (注:NaN != NaN,NaN不等于他自己 )
        0 == "" 、0 == false 、"" == false 、 undefined == null 。
其他情况都为假!

*/

</script>
</head>

<body>

</body>
</html>


参考资料:
http://www.programmerinterview.com/index.php/javascript/falsy-in-javascript/
0
5
分享到:
评论

相关推荐

    JavaScript DOM编程艺术.pdf

    这一点对于JavaScript这种动态语言尤为重要,因为它在运行时更容易出现意外情况。 “循序渐进”原则倡导在开发过程中分步进行,逐步构建和测试程序,避免一开始就编写过于复杂或庞大的代码,这样不仅有助于发现和...

    Javascript重构.docx

    通过扩展对象的原型,如在`common.js`中为字符串添加`trim`方法,我们可以在不污染全局作用域的情况下增强JavaScript的功能。 命名空间是避免命名冲突和提高代码组织性的有效手段。在JavaScript中,可以利用对象...

    JavaScript学习经历

    ### JavaScript学习经历与心得 #### 一、JavaScript的演变与重要性 JavaScript 作为一种脚本语言,最初只是用于...通过以上步骤的学习和实践,可以逐步建立起扎实的 JavaScript 基础,为进一步的开发打下坚实的基础。

    Test iOS Apps with UI Automation

    这种方法在某些情况下被称为全栈测试或集成测试。书中将涵盖启动整个应用、进行触摸和手势操作、等待动画效果,并根据屏幕上的结果作出反应的测试过程。 在现代软件开发实践中,自动化测试被视为确保软件质量的关键...

    Javascript在IE和FireFox中的不同表现

    JavaScript是一种广泛应用于Web开发的脚本语言,它在不同的浏览器中可能会有不同的行为和表现,尤其是在老版本的Internet Explorer(IE)和Firefox之间。这两个浏览器在处理JavaScript语法、DOM操作、CSS渲染等方面...

    JavaScript快速检测浏览器对CSS3特性的支持情况

    本文将介绍一种JavaScript快速检测方法,以确定浏览器是否支持特定的CSS3特性。 首先,我们来看一下一种常用的方法——Modernizr。Modernizr是一个强大的JavaScript库,它能够检测浏览器对HTML5和CSS3特性的支持。...

    测试培训教材

    把Cruise Seatch转换为步骤、再次转换为测试 选择主题路径: 查看转换结果: 练习2:从Office导入需求到QC 参考 QCMSWordAddin.pdf 和 QCMSExcelAddin.pdf 项目管理员可以使用QC的Excel插件工具来执行需求...

    仿百度图片放大效果(jQuery)

    8. **js** 文件夹:包含实现图片放大效果的JavaScript代码,很可能有一个名为`jquery-plugin.js`或类似名称的文件,其中定义了jQuery插件来处理图片放大逻辑。 实现过程可能包括以下步骤: 1. 首先,在HTML中为每个...

    高级JavaScript

    **高级JavaScript** JavaScript,一种广泛应用于网页和网络应用的脚本语言,是现代Web开发不可或缺的部分。它在浏览器环境中运行,赋予网页...随着技术的不断进步,JavaScript将持续发展,为开发者带来更多的可能性。

    dez-router:非常简单的 JavaScript 路由器,界面漂亮

    轻量级 JavaScript 路由器,具有类似 Rails 的界面。 要求 MicroEvent(在 1.x 上测试)。 只是非常简单和小的事件发射器。 CommonJS AMD 加载器。 为什么? 因为每个人都必须使用模块方法! 它足够的古语。 安装 ...

    bootstrop兼容IE8的代码

    html5shiv是一个小脚本,可以在旧版IE中为这些新元素添加样式和JavaScript操作的能力。 4. **jQuery版本**:Bootstrap 3需要jQuery 1.9.1及以上版本,但要注意,某些旧版本的jQuery可能与IE8存在兼容性问题。选择一...

    基于ssm的海南自贸港知识学习与测试源码数据库.zip

    4. **微信小程序**:提到的标签包含“微信小程序”,这意味着项目可能包含了微信小程序的开发部分,用于在微信环境中为用户提供轻量级的应用体验,让用户可以直接在微信内进行学习和测试,无需下载安装额外的APP。...

    你必须知道的JavaScript 中字符串连接的性能的一些问题

    在进行性能测试时,可以使用JavaScript中的Date对象来获取操作执行前后的具体时间,通过计算时间差来评估不同字符串连接方法的性能表现。 需要注意的是,在编写代码时,应尽量避免在循环中进行复杂的字符串操作,...

    phonegap在android手机上实现短信发送

    PhoneGap通过创建一个插件(在本例中为`SMSPlugin`),可以将JavaScript的API与Android的`SmsManager`对接,从而在Web应用中实现发送短信的功能。 以下是使用PhoneGap在Android手机上实现短信发送的基本步骤: 1. ...

    test11:仅用于测试目的

    4. **测试策略**:包括单元测试、集成测试、系统测试和验收测试,每种都有其特定的目的和应用场景。 5. **测试驱动开发(TDD)**:编写测试用例先行,然后编写代码使其通过,有助于保证代码质量。 6. **模拟与桩...

    local-components:使用组件测试本地依赖项

    在JavaScript开发中,组件化是一种常见且强大的编程实践,它允许我们将复杂的代码分解为可重用、可管理和可测试的小块。"local-components"项目似乎专注于如何在本地环境中测试这些组件,确保它们按预期工作并与其他...

    generator-babel-boilerplate:一个Yeoman生成器,用于在ES2015(及以后!)中为Node和浏览器编写库

    ✓作者于 (包括单元测试) ✓导出为ES5和 - - 测试堆栈✓可在Node和浏览器中运行的单元测试 安装 全局安装yo和此生成器。 npm install -g yo generator-babel-boilerplate 使用Yeoman 导航到您要用于项目的目录...

    在vs2008中添加对extjs的智能提示

    3. **测试智能提示**:现在当你在Visual Studio中编写JavaScript代码时,应该能看到关于ExtJS的智能提示了。 #### 三、操作技巧与注意事项 - **文件位置**:确保`ext/adapter/ext-base.js`和`ext/ext-all-debug.js...

Global site tag (gtag.js) - Google Analytics