Javascript 将字符串转换为布尔值并与js中的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')

我有一个属性,其中有一个条件。我从标记的属性中获取了这个条件,现在我想把这个条件放到if块中,然后得到结果

我的代码:-

 <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')
}