Javascript 布尔型分析

本来我以为js的布尔型转换跟java一样,毕竟大家同一个祖宗嘛,以下是我的写法。
function foo() {
var temp = Boolean.valueOf('<%=javaBoolean%>');
alert(temp == false);
}
java变量javaBoolean是一个字符串,它的值是"false",本来我以为肯定输出true,但结果却false,真是郁闷至极。
  刚刚查了一下《javascript权威指南》,才茅塞顿开。原来是这样的:
  如果是想将其它类型转为布尔型,应该用Boolean(value)或new Boolean(value),Boolean.valueOf()这个方法是对象才有的,并不是Boolean的静态方法,还有一点很重要:0、 NaN、null、空字符串和undefined都将转换成false,其它原始值,除了false(但包含字符串"false"),以及其它的对象和数组都将转换为true。
  看到这里,你应该觉得被js忽悠了一把也是值的吧?

(0)

相关推荐

  • 总结JavaScript中布尔操作符||与&&的使用技巧

    你是否看到过这样的代码:a=a||""; 可能javascript初学者会对此感到茫然.今天就跟大家分享一下我的一些心得. 其实: a=a||"defaultValue"; a=a||"defaultValue"; 与: if(!a){ a="defaultValue"; } if(!a){ a="defaultValue"; } 和: if(a==null||a==""||a==und

  • 使用javascript:将其它类型值转换成布尔类型值的解决方法详解

    1.利用Boolean对象进行转换 复制代码 代码如下: var num123 = 123, str = 'abc', o = {name:'test'}, num0 = 0; num123 = Boolean(num123); //true num0 = Boolean(num0); //false str = Boolean(str); //true o = Boolean(o); //true 2. 利用两个'!'运算符,第一个'!'将值转换成布尔值并取其值的非值,第二个'!'将其布尔值还

  • js中的布尔运算符使用介绍

    在之前我们讨论到布尔运算符 && 和 || 的时候,我说过它们的结果是布尔值.这样说起来有点过于简单化了.如果你用它们来计算布尔数据类型,它们确实会返回布尔值.但是它们也能用于计算其他的类型的数据,这种时候,返回的就将是其中的一个参数了. 或运算符"||" 真正做的事是这样的:它首先检查一下它左边的参数,如果转换成布尔类型的值后为true,那么就返回左边的参数,否则就返回右边的参数. 仔细想想当运算符两边都是布尔类型的值的时候,是不是这样的.为什么它这样运行?这样运行的

  • 实例解析JS布尔对象的toString()方法和valueOf()方法

    toString() 方法 把布尔值转换为字符串,并返回结果. 实例 将布尔值转换为字符串: var bool = new Boolean(1); var myvar = bool.toString(); 输出结果: true 定义和用法 toString() 方法可把一个逻辑值转换为字符串,并返回结果. 注意:当需要把Boolean对象转换成字符串的情况JavaScript会自动调用此方法. 语法 boolean.toString() 返回值 "true" 或者 "fals

  • JavaScript中的boolean布尔值使用学习及相关技巧讲解

    JavaScript中的两个基础的布尔类型的值: 1.true 2.false 布尔值 true 代表"真",false 代表"假".一般关系运算符会返回布尔值的结果.另外,数值的 0.-0.特殊值的 null.NaN.undefined 以及空字符("")都会被解释为 false ,其他值则会被解释为 true . function isMonth(mon) { if ((mon >= 1) && (mon <= 1

  • JavaScript 布尔操作符解析 && || !

    1.逻辑非 逻辑非用!表示,可以应用与ECMAScript的任何类型的值,逻辑非操作返回的是一个布尔值(true/false).该操作符首先会将它的操作数转换为一个布尔值,然后再对其求反. 下面说明下Boolean()转型函数的一组规则. 数据类型 转换为true的值 转换为false的值 Boolean true false String 任何非空字符串 ""(空字符串) Number 任何非零数字值(包括无穷大) 0和NaN Object 任何对象 null Undefined  

  • Javascript基础教程之数据类型 (布尔型 Boolean)

    javascript同样有布尔型,可选值,true or fasle. 复制代码 代码如下: var marr = true ;     document.write(typeof(marr) + "<br>");     var marr = "ture";     document.write(typeof(marr) + "<br>"); 布尔值的 ture 或 fasle是两个完全不同的概念,将marr分别不同给

  • JavaScript编程中布尔对象的基本使用

    Boolean(布尔)对象用于将非布尔值转换为布尔值(true 或者 false). 检查布尔值 检查布尔对象是 true 还是 false. 源代码示例: <!DOCTYPE html> <html> <body> ​ <script> var b1=new Boolean(0); var b2=new Boolean(1); var b3=new Boolean(""); var b4=new Boolean(null); var b

  • Javascript 布尔型分析

    本来我以为js的布尔型转换跟java一样,毕竟大家同一个祖宗嘛,以下是我的写法. function foo() { var temp = Boolean.valueOf('<%=javaBoolean%>'); alert(temp == false); } java变量javaBoolean是一个字符串,它的值是"false",本来我以为肯定输出true,但结果却false,真是郁闷至极. 刚刚查了一下<javascript权威指南>,才茅塞顿开.原来是这样的

  • TypeScript与JavaScript的区别分析

    目录 TypeScript优势 TypeScript 与 JavaScript 的区别 TypeScript基本语法 TypeScript原始类型 1.字符串 2.数字 3.布尔值 4.Symbol原始类型 5.静态类型检测 TypeScript引用类型 1.数组 2.数组类型(Array) 3.元组类型(Tuple) 4. any 5. unknown 6. void.undefined.null 7. never 8. object 小结 TypeScript是微软开发的一个开源的编程语言,

  • 《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组

    数字.浮点.布尔型是值类型,英文:int.float.bool,这样你知道他们怎么用了. 比如语句:$fa=3.14; 字符串和数组是引用类型,也就是说他们作为地址放在栈里,当重新赋值时,栈里的地址改变方向,原来的指向变没或给回收了,英文:string.array. 比如:$str="字符串";$arr=array("a"=>"数","b"=>"组");// array()是一个数组赋值函数,这

  • Python整型运算之布尔型、标准整型、长整型操作示例

    本文实例讲述了Python整型运算之布尔型.标准整型.长整型操作.分享给大家供大家参考,具体如下: #coding=utf8 def integerType(): ''''' 布尔型: 该值的取值范围只有两个值:True(1).False(0) ''' Tbool=True Fbool=False print "The True is stand for %d" %(Tbool) print "The False is stand for %d" %(Fbool)

  • python实现布尔型盲注的示例代码

    好久没写python了,就想着写个简单的练练手,写个布尔型盲注自动化脚本,我觉得这个功能写的非常全了,这里是参考sqli-labs里面的盲注漏洞进行的脚本编写. 脚本运行时间:6分半左右 bool_sqlblind.py # -*- coding:utf-8 -*- # Author: mochu7 import requests def ascii_str():#生成库名表名字符所在的字符列表字典 str_list=[] for i in range(33,127):#所有可显示字符 str_

  • 结合 ES6 类编写JavaScript 创建型模式

    目录 前言 什么是设计模式? 创建型设计模式 1. 工厂模式 实例 2. 抽象工厂 实例 3. 构建器模式 实例 4. 原型模式 实例 5. 单例模式 实例 前言 什么是设计模式? 设计模式是软件设计中常见问题的解决方案,这些模式很容易重复使用并且富有表现力. 在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案.它并不直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案.面向对象设计模式通常以类别或对象来描述

  • JavaScript计时器用法分析【setTimeout和clearTimeout】

    本文实例分析了JavaScript计时器用法.分享给大家供大家参考,具体如下: JavaScript中使用setTimeout和clearTimeout函数进行计时/停止计时的操作. 1.指定时间后执行一个动作,如3s后弹出一个对话框: setTimeout('alert("3s")',5000); 并且,该函数可以叠加起来是用,如: function delay_times(){ setTimeout('document.getElementById("time_text&

  • JavaScript 私有成员分析

    对象 JavaScript操作都是关于对象的.数组(Array)是对象,函数(Function)是对象.Object(类型)是对象.那么什么是对象呢?对象就是"名称-值"对(name-value).名称是字符串,值可以是字符串.数值.布尔值或对象(包括数组和函数).对象经常用哈希表实现,所以取值速度很快. 如果对象的一个值是函数(function),我们可以认为它是成员函数,当成员函数被调用时,this变量就会指向该对象.成员函数可以通过this变量访问对象的成员. 对象可以通过构造器

  • javascript parseInt 函数分析(转)

    javascript的parseInt函数 javascript的parseInt函数,大家都知道是干啥的 但你知道 parseInt("07") 返回多少 ? parseInt("08") 又返回多少 ? 正确答案是 parseInt("07") 返回8 parseInt("08") 返回0 你知道问题在哪? 其实,这个问题可能大家都没想过吧. 用javascript的parseInt函数时, parseInt("

随机推荐