草庐IT

BOOL_VAR_H

全部标签

javascript - 在紧凑的 JavaScript 循环中使用 var 会增加与内存相关的开销吗?

例如,会这样:while(true){varrandom=Math.random();}...在大多数实现中效率低于以下?varrandom;while(true){random=Math.random();}感谢您的输入。编辑:如果不是很明显,我主要担心此示例中会发生大量重复(取消)分配。 最佳答案 JavaScript没有block作用域。在第一个例子中,vartext声明是hoisted在whileblock之外。在这两种情况下,变量只声明一次。在这两种情况下,每次while循环迭代都会为变量分配一个值。var函数-作用域提升

javascript - 有什么理由用 !! 做 bool 转换吗?而不是 JavaScript 中的 Boolean()?

我知道Boolean()、String()和Number()转换,以及''+...、!!...和+...转换方法。我想知道是否有任何理由不使用函数构造函数? 最佳答案 通常不鼓励使用!!,因为对于那些没有见过它的人来说,它的实际用途是什么并不清楚。也就是说,它不到Boolean()字符的三分之一。此外,我不确定在Javascript中实际需要多久转换一次bool值,因为它通常是隐式转换,因为Javascript是弱类型的。 关于javascript-有什么理由用!!做bool转换吗?而不

javascript - Javascript 的缺点 "single var pattern"

在Stefanov的JSDesignPatterns一书中,他写道“你使用一个var语句并声明多个以逗号分隔的变量”,然后给出了一个“单一var”模式的示例,如下所示:functionfunc(){vara=1,b=2,sum=a+b,myobject={},i,j;Stefanov还写道:“在声明变量时也使用初始值对其进行初始化是一种很好的做法。”“您也可以在声明时做一些实际工作,例如前面代码中sum=a+b的情况。”现在我有一些代码如下,使用单个var模式声明了相同数量的变量,但做了更多的“声明时的实际工作”:varhtml='{purchaseQty}FR: {from

javascript - [-1,1][+!!boolean_var] 的含义

谁能解释一下在下面的代码中对reversevar进行双重否定的目的?returnfunction(a,b){varA=key(a),B=key(b);return((AB)?+1:0))*[-1,1][+!!reverse];}我的理解是,目的是从[-1,1]数组中选择正确的索引,然后在乘法中使用它,但在我看来[-1,1][+!!reverse];可以安全地替换为[-1,1][+reverse];我错了吗?通过在那里对reverse进行双重否定,你会获得或阻止什么?我在thisanswer.上看到了上面的代码 最佳答案 最简单的答案

javascript - 奇怪的数据属性 bool 问题

我有一个标题的实时点击事件,它有一个箭头在打开和关闭它的内容时向上/向下翻转。最奇怪的事情发生在!后跟一个变量——它应该将它从true->false翻转,反之亦然。基本上它根本不起作用,它会变为false并停留在那里...查看fiddle以了解我的意思。为了简洁起见,我删除了很多代码。DemoCode$(document).on('click','.regimenHeader',function(){var_state=$(this).attr('data-state');if(_state==='true'){//dostuff}else{//dostuff}//Thisiswher

javascript - 为什么 `1 && true` 得到一个 bool 值 `true` ,而 `0 && true` 得到一个数字 `0` ?

为什么1&&true得到一个bool值true,而0&&true得到一个数字0?我在Chrome控制台和Firebug中对其进行了测试。 最佳答案 因为expr1&&expr2如果为假则返回expr1,否则返回expr2。 关于javascript-为什么`1&&true`得到一个bool值`true`,而`0&&true`得到一个数字`0`?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/ques

javascript - ng-model Angular 中复选框的 bool 过滤器

item.imposed为1或0。为了使复选框标记为已选中,值必须为true或false。你不能在ng-model中使用过滤器,如何简单正确地实现这一点? 最佳答案 您可以使用ngChecked,但您不会将任何绑定(bind)返回给您的模型:http://jsfiddle.net/fMBQj/或者您可以使用ngTrueValue和ngFalseValue,但您必须使用字符串(而不是int):http://jsfiddle.net/fMBQj/1/或者您可以使用自定义指令...它现在非常蹩脚。

JavaScript,如何以最有效的方式从字符串中获取第二个值,如 "var1-var2"

我知道.split("-",2),但我怎样才能做出这样的东西varstr="123-341235";alert(str.split("-",2).[2])谢谢大家的帮助! 最佳答案 我看到两个简单的解决方案,它们的性能大致相同:varstr="123-341235";str.split('-')[1];//=>"341235"(slower)str.slice(str.indexOf('-')+1);//=>"341235"(faster)这jsPerfbenchmark显示“slice/indexOf”解决方案在Chrome和Fi

javascript - 哪个更快 : if (var == 'value' ) OR if (/value/. test(var))

哪个更快:if(var=='value')或if(/value/.test(var)) 最佳答案 if(var=='value')。很多。但是,如果您真的想要快,请执行if(var==='value')。与类型强制等效相比,严格等效要做的工作要少得多。 关于javascript-哪个更快:if(var=='value')ORif(/value/.test(var)),我们在StackOverflow上找到一个类似的问题: https://stackoverfl

javascript - 在 ajax 请求中使用 "var"关键字时非常奇怪的行为

我已经为此担心了一段时间,但我无法意识到到底发生了什么。代码注释中的解释。一个应用程序有2个版本,其中一个会抛出奇怪的结果,而第二个会执行预期的工作。varid="test1";$.post("http://fiddle.jshell.net/echo/json/",{"data":"data"},function(a){alert(id);//willthrowundefinedvarid="test2";alert(id);//willthrow"test2"asexpected});$.post("http://fiddle.jshell.net/echo/json/",{"da