Javascript 检查字符串是否与变量名相同

Javascript 检查字符串是否与变量名相同,javascript,Javascript,我有一个字符串: var x = "news"; 我有一个变量 var news = array("1", "2", "3"); 我真的想检查是否有一个变量与字符串“news”同名,在这种情况下,它将返回true,因为有一个变量名news 我可以在JavaScript中执行此操作吗?您可以遍历this的键并检查var名称 var x=“新闻” var新闻=[“1”、“2”、“3”] 函数varNameExists(varName){ 返回[…Object.keys(this)].some(

我有一个字符串:

var x = "news";
我有一个变量

var news = array("1", "2", "3");
我真的想检查是否有一个变量与字符串“news”同名,在这种情况下,它将返回true,因为有一个变量名
news


我可以在JavaScript中执行此操作吗?

您可以遍历
this
的键并检查var名称

var x=“新闻”
var新闻=[“1”、“2”、“3”]
函数varNameExists(varName){
返回[…Object.keys(this)].some(name=>name==varName)
}

console.log(varNameExists(x))
您可以使用
window.hasOwnProperty
进行检查,但这不是正确的方法

var x=“新闻”;
风险值新闻=[“1”、“2”、“3”];
console.log(window.hasOwnProperty(x))
x=“nxyz”;
console.log(window.hasOwnProperty(x))
x=“新闻”;

console.log(window.hasOwnProperty(x))
对于一般情况,使用一些非常难看的技巧几乎是不可能的,但绝对不应该这样做。变量名应该是完全静态的。只能对全局变量执行此操作,因为它们在
窗口中成为属性。但是为什么需要这样做呢?这与jQuery无关,变量是基本JavaScript的一部分。
window.hasOwnProperty(x)
x是您的字符串变量检查后,如果它存在,我如何使用字符串作为变量名。例如,如果该变量存在,我如何调用
news
数组?@LuuHoangBac window[x]或eval(x)检查后,如果该变量存在,我如何使用该字符串作为该变量名。例如,如果该变量存在,我如何调用
news
数组?