我正在使用JSLint来完成JavaScript,并且在执行诸如比较语句内部之类的事情时,它会返回许多建议来替换==(两个等号)===(三个等号).idSele_UNVEHtype.value.length == 0if
有没有性能优势,以代替==用===?
任何性能改进都会受到欢迎,因为存在许多比较运算符
如果没有进行类型转换,是否会有性能提升==?
javascript equality operators equality-operator identity-operator
eval函数是一种动态生成代码的强大而简单的方法,那么有什么警告呢?
如何使用jQuery将字符串转换为小写?我试过了
var jIsHasKids = $('#chkIsHasKids').attr('checked').toLowerCase();
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我究竟做错了什么?
我有一个包含"true"或的JavaScript字符串"false".
如何在不使用该eval函数的情况下将其转换为布尔值?
我有一个变量.我们称之为toto.
这toto可以设置为undefined,, null字符串或对象.
我想要最简洁的方法来检查是否toto设置为数据,这意味着设置为字符串或对象,既不是undefined也不是null,并在另一个变量中设置相应的布尔值.
我想到了语法!!,看起来像这样:
var tata = !!toto; // tata would be set to true or false, whatever toto is.
Run Code Online (Sandbox Code Playgroud)
第一个!将被设置为false如TOTO的undefined还是null和true别人,和第二个会倒转.
但它看起来有点令人毛骨悚然......所以有更好/更清洁的方法吗?
我已经看过这个问题了,但我想在变量中设置一个值,而不只是在if语句中检查它.
JavaScript有parseInt()和parseFloat(),但没有parseBool或parseBoolean方法在全球范围内,据我所知.
我需要一个方法,使用"true"或"false"之类的值来获取字符串并返回JavaScript Boolean.
这是我的实现:
function parseBool(value) {
return (typeof value === "undefined") ?
false :
// trim using jQuery.trim()'s source
value.replace(/^\s+|\s+$/g, "").toLowerCase() === "true";
}
Run Code Online (Sandbox Code Playgroud)
这是一个很好的功能吗?请给我你的反馈.
谢谢!
我想检查一个数字是否为负数.我正在寻找最简单的方法,所以一个预定义的javascript函数将是最好的,但我还没有找到任何东西,这是我到目前为止,但我不认为这是一个好方法:
function negative(number) {
if (number.match(/^-\d+$/)) {
return true;
} else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud) 通过查看我们其中一个项目的源代码,我发现了一些我们在条件语句中使用三个惊叹号的地方,如下所示:
if (!!!someVar) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
现在,我明白这不是某种很少使用的算子,它只是连续三次否定,就像!(!(!someVar))).我不明白它的用途是什么 - 在我看来它可以安全地用单个感叹号代替.以下是我尝试查找!!!a不等于的案例!a(直接从谷歌Chrome控制台获取):
var a = ''
""
!!!a === !a
true
a = 'string'
"string"
!!!a === !a
true
a = null
null
!!!a === !a
true
a = 12
12
!!!a === !a
true
a = {b: 1}
Object {b: 1}
!!!a.c === !a.c // a.c is undefined here
true
a = []
[]
!!!a === !a
true
a = [1,2]
[1, 2]
!!!a === …Run Code Online (Sandbox Code Playgroud) 如何将字符串转换为布尔值?
我尝试使用构造函数Boolean("false"),但它总是如此.
我知道不是第一个问这个问题,正如我在标题中提到的,我正在尝试转换字符串值布尔值.
我之前已经将一些值放入本地存储中,现在我想获取所有值并将所有值分配给一些布尔变量.
app.component.ts
localStorage.setItem('CheckOutPageReload', this.btnLoginNumOne + ',' + this.btnLoginEdit);
Run Code Online (Sandbox Code Playgroud)
这里this.btnLoginNumOne 和this.btnLoginEdit是字符串值("真,假") .
mirror.component.ts
if (localStorage.getItem('CheckOutPageReload')) {
let stringToSplit = localStorage.getItem('CheckOutPageReload');
this.pageLoadParams = stringToSplit.split(',');
this.btnLoginNumOne = this.pageLoadParams[0]; //here I got the error as boolean value is not assignable to string
this.btnLoginEdit = this.pageLoadParams[1]; //here I got the error as boolean value is not assignable to string
}
Run Code Online (Sandbox Code Playgroud)
在这个组件中,this.btnLoginNumOne和this.btnLoginEdit是布尔值;
我尝试了stackoverflow中的解决方案,但没有任何工作.
任何人都可以帮我解决这个问题.
javascript ×8
angular ×1
boolean ×1
equality ×1
eval ×1
jquery ×1
operators ×1
security ×1
trim ×1
typescript ×1