`
mowengaobo
  • 浏览: 161391 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

我如何将字符串转换为布尔值在JavaScript?

    博客分类:
  • js
阅读更多

我如何将字符串转换为布尔值在JavaScript?

 

  English Language Content












我如何将字符串转换为布尔值在JavaScript?

我可以转换成一个字符串,表示一个布尔值(比如,'真正的','假')到JavaScript中的内在类型?

我有一个隐藏的HTML表单更新后,用户的选择为基础的名单之内。 这个表格包含一些领域,代表布尔值,并具有内在动态的布尔值填充。 但是,一旦这个值放入隐藏的输入字段就成了一个字符串。

我唯一能找到,以确定该字段的布尔值,一旦被转换成一个字符串,是取决于它的字符串表示的文本值。

var myValue = document.myForm.IS_TRUE.value; 
var isTrueSet = myValue == 'true'; 


有没有更好的方式来完成这项工作?

#: 263965      javascript      User: Kevin

Answer: 264037

你也许应该谨慎使用您的特定需求这两种方法:

var myBool = Boolean("false");  // == true 
var myBool = !!"false";  // == true 


任何字符串这不是空字符串使用他们的计算结果为true 虽然他们是最干净的方法,我能想到的关于对布尔的转换,我认为他们不是你要找的。

关于你建议的方式,可以让使用的身份运营商=== 它不作任何隐式类型转换时,比较不同类型的变量有严格的,而不是平等的经营者== 它:

var isTrueSet = (myValue === 'true'); 



#: 264037     javascript      User: guinaps

Answer: 264180

String.prototype.bool = function() { 
    return (/^true$/i).test(this); 
}; 
alert("true".bool()); 



#: 264180     javascript      User: Shadow2531

Answer: 1414175

stringToBoolean: function(string){ 
switch(string.toLowerCase()){ 
case "true": case "yes": case "1": return true; 
case "false": case "no": case "0": case null: return false; 
default: return Boolean(string); 
} 
} 



#: 1414175     javascript      User: Steven

Answer: 264071

记住匹配情况:

var isTrueSet = (myValue.toLowerCase() === 'true'); 


此外,如果它是一个表单元素复选框,还可以检测如果选中复选框:

var isTrueSet = document.myForm.IS_TRUE.checked; 


假设,如果它被选中,这是“设置”等于事实。 这种计算为真/假。

#: 264071     javascript      User: Jared Farrish

Comments for #: 264071

为什么你会做三元? 你已经有了一个布尔那里   #:120296  nickf
因为你可以? 你的“你已经有了一个布尔有”是什么意思?   #:120353  Jared Farrish
卫生署! toLowerCase。 卫生署!   #:120355  Jared Farrish
贾里的===已经是一个布尔条件下,三元是多余的。   #:120419  FlySwat
正确的。 反正我讨厌ternaries。 嗯,我想我是对的toLowerCase,所以我编辑了它删除三元。   #:120435  Jared Farrish

Answer: 264097

您的解决方案是好的。

=== 也只是愚蠢在这种情况下,由于外地的value 将永远是string

#: 264097     javascript      User: insin

Answer: 920942


如果(字符串(1)==“真”)(
/ /真块

否则(
/ /假块

#: 920942     javascript      User: n/a

Answer: 323546

我认为这是非常普遍的:
如果(字符串(1)==“真”)...

当然:

字符串(真)==“真正的”/ /返回true

字符串(假)==“真正的”/ /返回false

字符串(“真”)==“真实”/ /返回true

字符串(“假”)==“真实”/ /返回false

#: 323546     javascript      User: n/a

Answer: 264109

如果有一些其他的代码的布尔值转换为字符串,您需要确切知道这些代码存储true / false值。 无论是或需要获得一个函数,扭转这一转换。

有无穷多个方法来表示字符串中的布尔值(“真”,“Y”型,“1”等)。 所以,你不应该依赖一些通用字符串到布尔转换器如布尔(myValue)。 您需要使用一个例行程序,推翻了原来的布尔到字符串的转换,无论是。

如果你知道它能够将真正的布尔值为“true”字符串,那么你的示例代码罚款。 除了你应该使用== ===代替,因此没有自动类型转换。

#: 264109     javascript      User: JW

Answer: 264105

你需要单独的(在你的想法)您选择的价值和该值的表示。

选择在JavaScript逻辑的一个点,他们需要从字符串哨兵过渡到本地类型,做一个比较有,最好的地方只有得到执行的每个需要转换价值的一次。 请记住,以解决需要做些什么,如果字符串不是一个哨兵的脚本知道(即你默认为true或假?)

换句话说,是的,你需要依赖于字符串的值。 :-)

#: 264105     javascript      User: staticsan

Answer: 263969

 var myBool = Boolean.parse("true"); 


var myBool = Boolean("true"); 


var myBool = !!"true"; 


不知道第一个是IE特定的。

#: 263969     javascript      User: FlySwat

Comments for #: 263969

下面是与使用布尔的事情(“真”)。 这是一个有点误导,因为布尔(“假”)和布尔('跆拳道“)评估的也是如此。你的第三个答案是非常相似。   #:120241  Kevin

分享到:
评论

相关推荐

    booleanify:将值转换为布尔值-识别“ true”和“ false”字符串

    将值转换为布尔值-识别'true'和'false'字符串 安装 $ npm install --save booleanify 用法 const booleanify = require ( 'booleanify' ) ; booleanify ( 'true' ) ; //=> true booleanify ( 'false' ) ; //=> ...

    parse-strings-in-object:将JS对象中的字符串值转换为布尔值和数字

    一个非常简单的模块,它采用JavaScript对象并返回一个新对象,该对象具有将布尔值,空值和数字转换为正确类型的字符串表示形式。 所以: "true"和"false"变为true和false "1"和"3.147"为1和3.147 即使“看起来像...

    Parse-Bool:将布尔值的字符串表示形式转换为布尔值

    将布尔值的字符串表示形式转换为布尔值。 快速开始 var parseBool = require ( 'parse-bool' ) ; var bool = parseBool ( 'true' ) ; if ( bool ) { ... } 支持的字符串 “ true”> True “假”>假 “ null”>空

    to-bool:将类型转换为布尔值

    ),它适用于null (因为typeof null === "object" ) 字符串将转换为小写并与"true"或"1" Symbol目前被视为永远为真未定义始终为假如果这些类型都不与传递的项目匹配,则抛出TypeError 。用法使用非常简单: var ...

    gulp-js-escape:将文件转换为 JavaScript 转义字符串的 Gulp 插件

    将文件转换为 JavaScript 转义字符串的 Gulp 插件。 var jsEscape = require ( 'gulp-js-escape' ) ; // file.htm -> some text "needing" escaped gulp . src ( 'file.htm' ) . pipe ( jsEscape ( ) ) . dest ...

    使用 JavaScript 创建和分析 JSON 消息

    <br>在撰写本文时的最新更新中,www.json.org 上的 json.js 脚本将 toJSONString() 函数添加到数组、字符串、布尔值、对象和其他 JavaScript 类型。该标量类型(如数字和布尔值)的 toJSONString() 函数相当简单...

    JavaScript基础语法资料 JavaScript代码 素材 笔记 作业资料.zip

    JavaScript基础语法资料 JavaScript代码 素材 笔记 作业资料,学习资料 01-编程语言.html 02-JS初体验.html 03-JS注释.html 04-JS输入输出语句.html 05-变量.html 06-变量案例.html 07-变量案例弹出用户名.html 08-...

    精通正则表达式基于.NET ASP PHP JSP JavaScript

    将数组元素连接为字符串.asp 构造制定字符串.asp 正向截取字符串.asp 正向查找字符串.asp 获取字符串长度.asp 第13章(/14/) Matches集合与Macth对象.asp ...

    Javascript 类型转换方法

    因为变量类型在表单控件中是字符串类型(计时字符串序列包含一个数字)这种尝试将会添加那个字符串到变量,即使这些值碰巧是一些数字,结果在第二个变量将会被转换为字符串类型,在最后只会把从表单控件中得到的变量...

    xhelper:一个简单JavaScript助手库

    将字符串转换为布尔值 isUndefined 检查对象是否未定义 一片空白 检查对象是否为空 deg2rad 将度角转换为辐射角 验证电子邮件 验证给定的电子邮件地址 领先零 在字符串中添加前导零,直到匹配给定字符长度

    JavaScript入门常见问题解决方案简介.docx

    对象转布尔值:var bool = !!obj; 数组遍历 使用Array.prototype.forEach(): Javascript const arr = [1, 2, 3]; arr.forEach((item, index) => { console.log(item, index); }); 使用for...of循环: Javascript ...

    JavaScript中的一些隐式转换和总结(推荐)

    对象和布尔值进行比较时,对象先转换为字符串,然后再转换为数字,布尔值直接转换为数字 [] == true; //false []转换为字符串'',然后转换为数字0,true转换为数字1,所以为false 2. 对象和字符串比较 对象和字符串...

    JavaScript详解(第2版)

     5.3 数字、字符串还是布尔值?数据类型转换   5.3.1 parseInt()函数   5.3.2 parseFloat()函数   5.3.3 eval()函数   5.4 特殊运算符   5.5 应知应会   练习   第6章 条件选择   ...

    JavaScript-Algorithms:用 JS 编写的算法

    - 将给定的特殊字符串转换为 HTML。 - 计算给定数字的阶乘。 - 查找给定字符串中最长单词的长度。 - 检查给定值是否是布尔原始值。 - 检查给定的字符串是否是回文。 删除给定数组的虚假值。 重复一个字符串,...

    javascript 数据类型转换(parseInt,parseFloat)

    javascript有两种数据类型的转换方法: (一)将整个值从一种类型转换为另一种数据类型(称作基本数据类型转换) (二)从一个值中提取另一种类型的值,并完成转换工作 基本数据类型转换的三种方法: 1.转换为字符...

    javascript类型转换使用方法

    函数转换为字符串一般是将函数体输出,不过可以重写其toString方法 (二)转换为数字 代码如下:parseInt(),parseFloat() 使用Number(),前面不要加new,这样就转换成对象了。 参与数学运算(加法除外) + X :注意这...

    WaltTing#JavaScript#JS数据类型转换1

    常见JS类型转换表值|to 字符串|to 数字|to 布尔值|to 对象补充:更多内容待更新。

    JavaScript权威指南(第6版)

    3.3 布尔值 3.4 null和undefined 3.5 全局对象 3.6 包装对象 3.7 不可变的原始值和可变的对象引用 3.8 类型转换 3.9 变量声明 3.10 变量作用域 第4章 表达式和运算符 4.1 原始表达式 4.2 对象和数组的初始化表达式 ...

    javascript学习笔记.docx

    6) typeof函数的返回值:数字——number,字符串——string,布尔值——Boolean,对象、数组、null——object,函数名——function或undefined(未定义时)。主要用来区别区别对象和原始类型。要区分对象的具体类型...

    JavaScript权威指南(第6版)(附源码)

    3.3 布尔值 3.4 null和undefined 3.5 全局对象 3.6 包装对象 3.7 不可变的原始值和可变的对象引用 3.8 类型转换 3.9 变量声明 3.10 变量作用域 第4章 表达式和运算符 4.1 原始表达式 4.2 对象和数组的初始化表达式 ...

Global site tag (gtag.js) - Google Analytics