草庐IT

BOOL_VAR_H

全部标签

javascript - 在 Javascript 中将复杂的字符串表达式解析为 bool 值

我的任务是为复杂的嵌套JSON编写过滤器。为此,我需要评估用户在输入字段中输入的bool表达式。为了这个问题,假设我们得到了以下输入:(Key1="foo"||key2=2&&key3="bar")&&key4=7我设法编写了一个函数来将每个键值对评估为“真”或“假”,并将它们替换为字符串:例如:(True||False&&True)&&True现在我想将这个字符串解析为一个bool表达式。Javascript是否有任何“简单”的方法(内置函数、插件)可以解析此字符串? 最佳答案 通常不建议使用eval(),但也许适合您的情况。更多

javascript - typescript 字符串到 bool 值

我正在尝试将字符串转换为bool值。有几种方法可以做到一种方法是letinput="true";letboolVar=(input==='true');这里的问题是我必须验证输入是真还是假。有没有更优雅的方式,而不是首先验证输入然后进行转换?在.NET中,我们有bool.TryParse如果字符串无效则返回false。typescript中是否有任何等价物? 最佳答案 你可以做这样的事情,你可以有三个状态。undefined表示该字符串不可解析为bool值:functionconvertToBoolean(input:string)

javascript - 使用 var 和函数声明 javascript 对象有什么区别?

我是一个迷茫的新手。我在教程中读到,您可以像这样创建一个javascript对象:functionmyObject(){this.myProperty="astring";this.myMethod=function(){//Methodcode}}然后我在其他地方读到你创建了一个像这样的对象:varmyObject={myProperty:"astring",myMethod:function(){//Methodcode}}两者之间的(非主观)区别是什么?官方有正确的方法和错误的方法吗? 最佳答案 两种声明都是正确的,但它们具有

javascript - 为什么 single var 在 javascript 中很好用?

谁能告诉我为什么对多个变量使用一个var声明并在换行符上声明每个变量被认为是一种好的编程行为?//badvaritems=getItems();vargoSportsTeam=true;vardragonball='z';//goodvaritems=getItems(),goSportsTeam=true,dragonball='z'; 最佳答案 它不被视为“好”或“坏”。这是一个偏好问题。构建代码质量工具JSLint的人,DouglasCrockford喜欢它。它可能具有的一个“优势”是它避免了variablehoisting的

javascript - var i = [0] 在 for 循环中,然后递增 i++ - 为什么它有效?

在我正在阅读的一本书(JavaScript和JQuery-JonDuckett的交互式前端开发)中有一个有趣的错误或者(至少我是这么认为的)它不会阻止代码工作:for(vari=[0];i这是脚本的一部分,它循环遍历表单中的所有单选按钮并附加一个事件监听器(它做什么并不重要)。但是……为什么我要初始化为一个数组?为什么递增有效?为什么整个循环都有效?当然,如果您将vari=[0]替换为vari=0,代码仍然有效。当您添加一些警报以检查循环的每次迭代中i的值和i的类型时,在第二次迭代时i的类型从对象(毕竟在第一次迭代中它是一个数组)变为数字.这是我迄今为止从未遇到过的一种隐式类型转换(谷

javascript - 有没有理由不在 JavaScript 中用 `var` 替换 `let`?

这个问题在这里已经有了答案:WhatistheusecaseforvarinES6?(5个答案)关闭6年前。我的JavaScript长辈问题:抛开事实lethasadifferentvariablescopethanvardoes,在我看来,在绝大多数情况下,没有理由使用var而不是let。当然,如果您在if语句中定义一个变量,这就不是一回事了,但是除了作用域之外还有其他原因需要使用一个变量吗?编辑:明确地说,这个问题是关于JavaScript中的最佳实践(即优缺点),不是之间差异的性质var和let。谢谢!

javascript - "value == var"与 "var == value"

在很多地方,我看到开发人员在做value==var比较,就像这样:if('https'===location.protocol){port=8443;protocol='wss://';isSecure=true;}我知道a==b与b==a相同,那么为什么人们使用value==var而不是var==value?有这方面的标准吗?如果是,哪种是标准方式? 最佳答案 您看到的是yodacondition.Yoda条件描述相同的表达式,但相反:if(42==$value){/*...*/}//Readslike:"If42equalsth

javascript - JSLint 错误 "Unexpected Var"

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭10年前。每当定义2个函数时,JSLint总是给我以下错误:Problematline__character_:Unexpected'var'.我曾尝试在脚本开头声明所有变量,但这并不能解决问题。尝试在网上搜索答案,但似乎找不到。varwalk=functionwalker(node,func){//code}vardisp=functiondisplay(){/

javascript - Node JS 需要没有 var

{这与推特无关}这是一个有趣的问题,有趣的是它可能很愚蠢,你可以笑,但我至少会对这个该死的痒痒有一个答案。目前我在用varBootstrap=require('library/Bootstrap');Bootstrap.run();如果我能在Bootstrapindex.js中做这样的事情,那就太棒了module.exports.Bootstrap=My_Bootstrap;然后这样调用它吧require('library/Bootstrap');Bootstrap.run();无需向我的空间声明另一个变量,有没有办法做到这一点,或者我是否正在盯着屏幕思考、做梦、迷路、回来并浪费时间?

javascript - 当一个是 bool 值时,为什么 JavaScript 在 == 运算符比较中将原始值转换为数字的基本原理?

我知道规则:Ifthetwooperandsarenotofthesametype,JavaScriptconvertstheoperandsthenappliesstrictcomparison.Ifeitheroperandisanumberoraboolean,theoperandsareconvertedtonumbersifpossible;elseifeitheroperandisastring,theotheroperandisconvertedtoastringifpossible.所以,if("true")通过但if("true"==true)失败,因为它的句柄类似于