Javascript 将字符串转换为布尔值并与js中的if条件进行比较
我有一个属性,其中有一个条件。我从标记的属性中获取了这个条件,现在我想把这个条件放到if块中,然后得到结果 我的代码:-Javascript 将字符串转换为布尔值并与js中的if条件进行比较,javascript,Javascript,我有一个属性,其中有一个条件。我从标记的属性中获取了这个条件,现在我想把这个条件放到if块中,然后得到结果 我的代码:- <div myCondition="1 == 2" id="hey"></a> <script> var a = document.getElementById('hey'); var x = a.getAttribute('myCondition'); if(x){ console.log('accepted')
<div myCondition="1 == 2" id="hey"></a>
<script>
var a = document.getElementById('hey');
var x = a.getAttribute('myCondition');
if(x){
console.log('accepted')
}else{
console.log('not accepted')
}
</script>
我想你需要的是功能。正如它在提供的链接中所说: 函数的
eval()
因此,您可以这样更改代码:
if( eval(x) ){
console.log('accepted')
}else{
console.log('not accepted')
}
p.S:尽管如此,我认为这样做并不安全。use===相反,为什么你要将条件存储在属性中而不是JavaScript/服务器端代码中?我不知道哪一个赢得了“坏习惯”竞赛:将演示与数据相混合的问题,还是使用eval
的公认答案。。。
if( eval(x) ){
console.log('accepted')
}else{
console.log('not accepted')
}